avcodec/svq1dec: Fix multiple bugs from "svq1: do not modify the input packet"
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 7 Aug 2014 00:27:07 +0000 (02:27 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 7 Aug 2014 00:27:07 +0000 (02:27 +0200)
Add padding, clear size, use the correct pointer.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/svq1dec.c

index cab9bac..eb64344 100644 (file)
@@ -635,7 +635,7 @@ static int svq1_decode_frame(AVCodecContext *avctx, void *data,
             return AVERROR_INVALIDDATA;
         }
 
-        av_fast_malloc(s->pkt_swapped, &s->pkt_swapped_allocated,
+        av_fast_padded_malloc(&s->pkt_swapped, &s->pkt_swapped_allocated,
                        buf_size);
         if (!s->pkt_swapped)
             return AVERROR(ENOMEM);
@@ -818,6 +818,7 @@ static av_cold int svq1_decode_end(AVCodecContext *avctx)
 
     av_frame_free(&s->prev);
     av_freep(&s->pkt_swapped);
+    s->pkt_swapped_allocated = 0;
 
     return 0;
 }