[FFmpeg-cvslog] avpriv_mpeg4audio_get_config: check init_get_bits() return code.

Michael Niedermayer git at videolan.org
Sun Jan 27 21:36:37 CET 2013


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sun Jan 27 21:17:32 2013 +0100| [deefdf9788467edd262b9c29a4f6e33d2ae84b8c] | committer: Michael Niedermayer

avpriv_mpeg4audio_get_config: check init_get_bits() return code.

Fixes null pointer 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=deefdf9788467edd262b9c29a4f6e33d2ae84b8c
---

 libavcodec/mpeg4audio.c |    4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/libavcodec/mpeg4audio.c b/libavcodec/mpeg4audio.c
index 8aa3219..68448e6 100644
--- a/libavcodec/mpeg4audio.c
+++ b/libavcodec/mpeg4audio.c
@@ -84,10 +84,8 @@ int avpriv_mpeg4audio_get_config(MPEG4AudioConfig *c, const uint8_t *buf,
     GetBitContext gb;
     int specific_config_bitindex;
 
-    if(bit_size<=0)
+    if (bit_size <= 0 || init_get_bits(&gb, buf, bit_size) < 0)
         return AVERROR_INVALIDDATA;
-
-    init_get_bits(&gb, buf, bit_size);
     c->object_type = get_object_type(&gb);
     c->sample_rate = get_sample_rate(&gb, &c->sampling_index);
     c->chan_config = get_bits(&gb, 4);



More information about the ffmpeg-cvslog mailing list