h264: ff_h264_decode_extradata: check buffer args
authorAlexander Strasser <eclipse7@gmx.net>
Sat, 24 Sep 2011 16:00:16 +0000 (18:00 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 1 Oct 2011 18:29:07 +0000 (20:29 +0200)
  The buffer size and pointer were not checked prior to testing the first
byte of the buffer. These were sometimes checked before calling, but it is
better to add it inside the function as it takes buf and size arguments.

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
(cherry picked from commit 715f259bf949b06df1b5ed0307606dc258754c99)

libavcodec/h264.c

index 4a2b0f0..9c7bf24 100644 (file)
@@ -1022,6 +1022,9 @@ int ff_h264_decode_extradata(H264Context *h, const uint8_t *buf, int size)
 {
     AVCodecContext *avctx = h->s.avctx;
 
+    if(!buf || size <= 0)
+        return -1;
+
     if(buf[0] == 1){
         int i, cnt, nalsize;
         const unsigned char *p = buf;