diff options
author | Marcus Meissner <marcus@linux-n4oc.site> | 2016-09-17 19:12:52 +0200 |
---|---|---|
committer | Marcus Meissner <marcus@linux-n4oc.site> | 2016-09-17 19:12:52 +0200 |
commit | 2c0522620d2e9ef3051936172bd09dd210f3fe71 (patch) | |
tree | a7e62f78c3f5112905a4645624f52b9ac17324f5 /camlibs/ptp2/usb.c | |
parent | 3807eddfdc82450d6ab9e4738752636939f25dfa (diff) | |
download | libgphoto2-2c0522620d2e9ef3051936172bd09dd210f3fe71.tar.gz |
verify sizes in usb response
Diffstat (limited to 'camlibs/ptp2/usb.c')
-rw-r--r-- | camlibs/ptp2/usb.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/camlibs/ptp2/usb.c b/camlibs/ptp2/usb.c index 69525c690..0fe3551b2 100644 --- a/camlibs/ptp2/usb.c +++ b/camlibs/ptp2/usb.c @@ -438,6 +438,12 @@ ptp_usb_getresp (PTPParams* params, PTPContainer* resp) if (ret!=PTP_RC_OK) { ret = PTP_ERROR_IO; } else + if (rlen < 12) { + ret = PTP_ERROR_IO; + } else + if (rlen != dtoh32(usbresp.length)) { + ret = PTP_ERROR_IO; + } else if (dtoh16(usbresp.type)!=PTP_USB_CONTAINER_RESPONSE) { ret = PTP_ERROR_RESP_EXPECTED; } else |