Browse code

Clear FF_INPUT_BUFFER_PADDING_SIZE bytes at the end of the temporary buffers used in 4xm decoder.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>

Laurent Aimar authored on 2011/10/02 07:38:30
Showing 1 changed files
... ...
@@ -399,6 +399,7 @@ static int decode_p_frame(FourXContext *f, const uint8_t *buf, int length){
399 399
     if (!f->bitstream_buffer)
400 400
         return AVERROR(ENOMEM);
401 401
     f->dsp.bswap_buf(f->bitstream_buffer, (const uint32_t*)(buf + extra), bitstream_size/4);
402
+    memset((uint8_t*)f->bitstream_buffer + bitstream_size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
402 403
     init_get_bits(&f->gb, f->bitstream_buffer, 8*bitstream_size);
403 404
 
404 405
     f->wordstream= (const uint16_t*)(buf + extra + bitstream_size);
... ...
@@ -680,6 +681,7 @@ static int decode_i_frame(FourXContext *f, const uint8_t *buf, int length){
680 680
     if (!f->bitstream_buffer)
681 681
         return AVERROR(ENOMEM);
682 682
     f->dsp.bswap_buf(f->bitstream_buffer, (const uint32_t*)prestream, prestream_size/4);
683
+    memset((uint8_t*)f->bitstream_buffer + prestream_size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
683 684
     init_get_bits(&f->pre_gb, f->bitstream_buffer, 8*prestream_size);
684 685
 
685 686
     f->last_dc= 0*128*8*8;