[FFmpeg-cvslog] dv: fix valgrind use of uninitialised value warnings.

Reimar Döffinger git at videolan.org
Tue Jul 5 17:25:57 CEST 2011


ffmpeg | branch: master | Reimar Döffinger <Reimar.Doeffinger at gmx.de> | Tue Jul  5 16:02:56 2011 +0200| [afd06c68734e251a616fa53abdcf864e31c302e2] | committer: Clément Bœsch

dv: fix valgrind use of uninitialised value warnings.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=afd06c68734e251a616fa53abdcf864e31c302e2
---

 libavcodec/dv.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavcodec/dv.c b/libavcodec/dv.c
index b6f7852..2dc0373 100644
--- a/libavcodec/dv.c
+++ b/libavcodec/dv.c
@@ -475,8 +475,8 @@ static int dv_decode_video_segment(AVCodecContext *avctx, void *arg)
     GetBitContext gb;
     BlockInfo mb_data[5 * DV_MAX_BPM], *mb, *mb1;
     LOCAL_ALIGNED_16(DCTELEM, sblock, [5*DV_MAX_BPM], [64]);
-    LOCAL_ALIGNED_16(uint8_t, mb_bit_buffer, [80 + 4]); /* allow some slack */
-    LOCAL_ALIGNED_16(uint8_t, vs_bit_buffer, [5 * 80 + 4]); /* allow some slack */
+    LOCAL_ALIGNED_16(uint8_t, mb_bit_buffer, [  80 + FF_INPUT_BUFFER_PADDING_SIZE]); /* allow some slack */
+    LOCAL_ALIGNED_16(uint8_t, vs_bit_buffer, [5*80 + FF_INPUT_BUFFER_PADDING_SIZE]); /* allow some slack */
     const int log2_blocksize = 3-s->avctx->lowres;
     int is_field_mode[5];
 
@@ -543,6 +543,7 @@ static int dv_decode_video_segment(AVCodecContext *avctx, void *arg)
         block = block1;
         mb    = mb1;
         init_get_bits(&gb, mb_bit_buffer, put_bits_count(&pb));
+        put_bits32(&pb, 0); // padding must be zero'ed
         flush_put_bits(&pb);
         for (j = 0; j < s->sys->bpm; j++, block += 64, mb++) {
             if (mb->pos < 64 && get_bits_left(&gb) > 0) {
@@ -563,6 +564,7 @@ static int dv_decode_video_segment(AVCodecContext *avctx, void *arg)
     block = &sblock[0][0];
     mb    = mb_data;
     init_get_bits(&gb, vs_bit_buffer, put_bits_count(&vs_pb));
+    put_bits32(&vs_pb, 0); // padding must be zero'ed
     flush_put_bits(&vs_pb);
     for (mb_index = 0; mb_index < 5; mb_index++) {
         for (j = 0; j < s->sys->bpm; j++) {



More information about the ffmpeg-cvslog mailing list