From 98c2db7ea6a6d38d32c328959a894e888682bdf5 Mon Sep 17 00:00:00 2001 From: Mark Nauwelaerts Date: Fri, 11 Jul 2008 17:54:26 +0000 Subject: [PATCH] ext/ffmpeg/gstffmpegcodecmap.c: Prevent likely segfault on EMPTY provided caps. Original commit message from CVS: * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_with_codecid): Prevent likely segfault on EMPTY provided caps. --- ChangeLog | 5 +++++ common | 2 +- ext/ffmpeg/gstffmpegcodecmap.c | 6 ++++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 12d7dab06b..252f50b12f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-07-11 Mark Nauwelaerts + + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_with_codecid): + Prevent likely segfault on EMPTY provided caps. + 2008-07-06 Mark Nauwelaerts Based on a patch by: Aurelien Grimaud diff --git a/common b/common index 593bb114c6..79ade7b9c9 160000 --- a/common +++ b/common @@ -1 +1 @@ -Subproject commit 593bb114c6f5c32b529aa6443be4c2d60d6484c7 +Subproject commit 79ade7b9c9bf47eee491ceee4cf3ea116140ad35 diff --git a/ext/ffmpeg/gstffmpegcodecmap.c b/ext/ffmpeg/gstffmpegcodecmap.c index aac3001323..b6d48241f5 100644 --- a/ext/ffmpeg/gstffmpegcodecmap.c +++ b/ext/ffmpeg/gstffmpegcodecmap.c @@ -1598,13 +1598,15 @@ void gst_ffmpeg_caps_with_codecid (enum CodecID codec_id, enum CodecType codec_type, const GstCaps * caps, AVCodecContext * context) { - GstStructure *str = gst_caps_get_structure (caps, 0); + GstStructure *str; const GValue *value; const GstBuffer *buf; - if (!context) + if (!context || !gst_caps_get_size (caps)) return; + str = gst_caps_get_structure (caps, 0); + /* extradata parsing (esds [mpeg4], wma/wmv, msmpeg4v1/2/3, etc.) */ if ((value = gst_structure_get_value (str, "codec_data"))) { gint size;