mxfdec: Include FF_INPUT_BUFFER_PADDING_SIZE when allocating extradata.
authorAlex Converse <alex.converse@gmail.com>
Fri, 29 Jul 2011 22:27:36 +0000 (15:27 -0700)
committerAlex Converse <alex.converse@gmail.com>
Fri, 29 Jul 2011 23:03:53 +0000 (16:03 -0700)
This prevents out of bounds reads when extradata is being decoded.

libavformat/mxfdec.c

index e2688b1..8906bdd 100644 (file)
@@ -600,7 +600,7 @@ static int mxf_read_generic_descriptor(void *arg, AVIOContext *pb, int tag, int
     default:
         /* Private uid used by SONY C0023S01.mxf */
         if (IS_KLV_KEY(uid, mxf_sony_mpeg4_extradata)) {
     default:
         /* Private uid used by SONY C0023S01.mxf */
         if (IS_KLV_KEY(uid, mxf_sony_mpeg4_extradata)) {
-            descriptor->extradata = av_malloc(size);
+            descriptor->extradata = av_malloc(size + FF_INPUT_BUFFER_PADDING_SIZE);
             if (!descriptor->extradata)
                 return -1;
             descriptor->extradata_size = size;
             if (!descriptor->extradata)
                 return -1;
             descriptor->extradata_size = size;