[FFmpeg-cvslog] matroskadec: check headerstrip data availability.

Michael Niedermayer git at videolan.org
Tue Apr 17 18:17:39 CEST 2012


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Tue Apr 17 17:12:22 2012 +0200| [2677697ac93a5de731aac598e863bd8bbe3b3a53] | committer: Michael Niedermayer

matroskadec: check headerstrip data availability.

Fixes null ptr dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2677697ac93a5de731aac598e863bd8bbe3b3a53
---

 libavformat/matroskadec.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index a484c50..6d2d43e 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -1011,6 +1011,10 @@ static int matroska_decode_buffer(uint8_t** buf, int* buf_size,
 
     switch (encodings[0].compression.algo) {
     case MATROSKA_TRACK_ENCODING_COMP_HEADERSTRIP:
+        if (encodings[0].compression.settings.size && !encodings[0].compression.settings.data) {
+            av_log(0, AV_LOG_ERROR, "Compression size but no data in headerstrip\n");
+            return -1;
+        }
         return encodings[0].compression.settings.size;
     case MATROSKA_TRACK_ENCODING_COMP_LZO:
         do {



More information about the ffmpeg-cvslog mailing list