codecparsers: mpegvideoparser: fix buffer size check

... to mind unsigned integer wrap

Based on patch by Alban Browaeys <prahal@yahoo.com>

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=673436
This commit is contained in:
Mark Nauwelaerts 2012-05-21 15:24:25 +02:00
parent c0c8aaed21
commit e560ce0909

View file

@ -298,19 +298,19 @@ gst_mpeg_video_parse (const guint8 * data, gsize size, guint offset)
GstByteReader br;
GList *ret = NULL;
size -= offset;
if (!initialized) {
GST_DEBUG_CATEGORY_INIT (mpegvideo_parser_debug, "codecparsers_mpegvideo",
0, "Mpegvideo parser library");
initialized = TRUE;
}
if (size <= 0) {
if (size <= offset) {
GST_DEBUG ("Can't parse from offset %d, buffer is to small", offset);
return NULL;
}
size -= offset;
gst_byte_reader_init (&br, &data[offset], size);
off = scan_for_start_codes (&br, 0, size);