Name: libmtp
Summary: Library for media transfer protocol (mtp)
Version: 1.1.11
-Release: 12
+Release: 13
Group: Network & Connectivity/Other
License: LGPL-2.1
Source0: libmtp-%{version}.tar.gz
ret = ptp_read_func(packet_size, &memhandler, params->data, rlen, 0);
ptp_exit_recv_memory_handler(&memhandler, &x, rlen);
if (x) {
+ /*
+ * [DF200122-01357] Crash observed on accessing 360 camera via MTP .
+ */
+ if (*rlen > sizeof(PTPUSBBulkContainer)) {
+ libusb_glue_error(params,
+ "PTP: The packet size is so large");
+ free(x);
+ return PTP_RC_NoValidObjectInfo;
+ }
+
memcpy(packet, x, *rlen);
free(x);
}
ret = ptp_read_func(packet_size, &memhandler, params->data, rlen, 0);
ptp_exit_recv_memory_handler (&memhandler, &x, rlen);
if (x) {
- memcpy (packet, x, *rlen);
- free (x);
+ /*
+ * [DF200122-01357] Crash observed on accessing 360 camera via MTP .
+ */
+ if (*rlen > sizeof(PTPUSBBulkContainer)) {
+ libusb_glue_error(params,
+ "PTP: The packet size is so large");
+ free(x);
+ return PTP_RC_NoValidObjectInfo;
+ }
+
+ memcpy(packet, x, *rlen);
+ free(x);
}
return ret;
}
ret = ptp_read_func(packet_size, &memhandler, params->data, rlen, 0);
ptp_exit_recv_memory_handler (&memhandler, &x, rlen);
if (x) {
- memcpy (packet, x, *rlen);
- free (x);
+ /*
+ * [DF200122-01357] Crash observed on accessing 360 camera via MTP .
+ */
+ if (*rlen > sizeof(PTPUSBBulkContainer)) {
+ libusb_glue_error(params,
+ "PTP: The packet size is so large");
+ free(x);
+ return PTP_RC_NoValidObjectInfo;
+ }
+
+ memcpy(packet, x, *rlen);
+ free(x);
}
return ret;
}