mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
cllc: Pad swapped buffer
The bitstream buffer must be padded, or the bitstream reader might read over the end. Fixes the following valgrind warning: Use of uninitialised value of size 8 at 0x591BAE: cllc_decode_frame (cllc.c:166) Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
This commit is contained in:
parent
01cb4c84f5
commit
aa7a565101
@ -284,7 +284,8 @@ static int cllc_decode_frame(AVCodecContext *avctx, void *data,
|
||||
|
||||
/* Make sure our bswap16'd buffer is big enough */
|
||||
swapped_buf_new = av_fast_realloc(ctx->swapped_buf,
|
||||
&ctx->swapped_buf_size, avpkt->size);
|
||||
&ctx->swapped_buf_size, avpkt->size +
|
||||
FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
if (!swapped_buf_new) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Could not realloc swapped buffer.\n");
|
||||
return AVERROR(ENOMEM);
|
||||
@ -313,6 +314,10 @@ static int cllc_decode_frame(AVCodecContext *avctx, void *data,
|
||||
ctx->dsp.bswap16_buf((uint16_t *) ctx->swapped_buf, (uint16_t *) src,
|
||||
(avpkt->size - info_offset) / 2);
|
||||
|
||||
/* Initialize padding to 0 */
|
||||
memset(ctx->swapped_buf + avpkt->size - info_offset,
|
||||
0, FF_INPUT_BUFFER_PADDING_SIZE);
|
||||
|
||||
init_get_bits(&gb, ctx->swapped_buf, (avpkt->size - info_offset) * 8);
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user