| author | Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk> | 2012-05-21 13:24:25 (GMT) |
|---|---|---|
| committer | Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk> | 2012-05-21 13:29:37 (GMT) |
| commit | e560ce0909693994e9b7e794f9904805c052ebcd (patch) (side-by-side diff) | |
| tree | 18dd54520a0aae598461f5d1def3e9ce967965eb | |
| parent | c0c8aaed21c5efe3aa8ddd5ae217376d00ca836d (diff) | |
| download | gst-plugins-bad-master.zip gst-plugins-bad-master.tar.gz | |
... to mind unsigned integer wrap
Based on patch by Alban Browaeys <prahal@yahoo.com>
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=673436
| -rw-r--r-- | gst-libs/gst/codecparsers/gstmpegvideoparser.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gst-libs/gst/codecparsers/gstmpegvideoparser.c b/gst-libs/gst/codecparsers/gstmpegvideoparser.c index ec8c934..5c84268 100644 --- a/gst-libs/gst/codecparsers/gstmpegvideoparser.c +++ b/gst-libs/gst/codecparsers/gstmpegvideoparser.c @@ -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); |
