summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Meissner <marcus@jet.franken.de>2017-04-29 13:06:53 +0200
committerMarcus Meissner <marcus@jet.franken.de>2017-04-29 13:06:53 +0200
commite6643b68d8851398f102088cd06e54256f9fb7bf (patch)
tree746264e2a41a1dc57880e0f415b003038938355b
parente366d6a1f072663be672e697f7d1accfc21252b4 (diff)
downloadlibgphoto2-e6643b68d8851398f102088cd06e54256f9fb7bf.tar.gz
during unpacking Object property desc, ensure at least 5 bytes are available (AFL)
-rw-r--r--camlibs/ptp2/ptp-pack.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/camlibs/ptp2/ptp-pack.c b/camlibs/ptp2/ptp-pack.c
index 5e2e4a73d..2e1d8e6b5 100644
--- a/camlibs/ptp2/ptp-pack.c
+++ b/camlibs/ptp2/ptp-pack.c
@@ -1096,6 +1096,10 @@ ptp_unpack_OPD (PTPParams *params, unsigned char* data, PTPObjectPropDesc *opd,
unsigned int offset=0, ret;
memset (opd, 0, sizeof(*opd));
+
+ if (opdlen < 5)
+ return 0;
+
opd->ObjectPropertyCode=dtoh16a(&data[PTP_opd_ObjectPropertyCode]);
opd->DataType=dtoh16a(&data[PTP_opd_DataType]);
opd->GetSet=dtoh8a(&data[PTP_opd_GetSet]);