dvdspu: Avoid integer overflow when checking if enough data is available

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4902>
This commit is contained in:
Sebastian Dröge 2023-06-13 14:25:04 +03:00 committed by GStreamer Marge Bot
parent ef83d981d1
commit b9a357db5a

View file

@ -607,7 +607,8 @@ parse_set_object_data (GstDVDSpu * dvdspu, guint8 type, guint8 * payload,
PGS_DUMP ("%d bytes of additional RLE data\n", (int) (end - payload));
/* Check that the data chunk is for this object version, and fits in the buffer */
if (obj->rle_data_ver == obj_ver &&
obj->rle_data_used + end - payload <= obj->rle_data_size) {
end - payload <= obj->rle_data_size &&
obj->rle_data_used <= obj->rle_data_size - (end - payload)) {
memcpy (obj->rle_data + obj->rle_data_used, payload, end - payload);
obj->rle_data_used += end - payload;