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>
Fri, 8 Aug 2014 13:49:50 +0000 (15:49 +0200)
Add padding, clear size, use the correct pointer.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 4213fc5b9eebec53c7d22b770c3f1ceecca1c113)

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

index 9aac8c7..d5f7581 100644 (file)
@@ -639,7 +639,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);
@@ -826,6 +826,7 @@ static av_cold int svq1_decode_end(AVCodecContext *avctx)
     avcodec_free_frame(&s->cur);
     avcodec_free_frame(&s->prev);
     av_freep(&s->pkt_swapped);
+    s->pkt_swapped_allocated = 0;
 
     return 0;
 }