diff options
-rw-r--r-- | libavcodec/imc.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/imc.c b/libavcodec/imc.c index 35702f9..237ff68 100644 --- a/libavcodec/imc.c +++ b/libavcodec/imc.c @@ -638,6 +638,10 @@ static int imc_decode_frame(AVCodecContext * avctx, int counter, bitscount; uint16_t buf16[IMC_BLOCK_SIZE / 2]; + if (buf_size < IMC_BLOCK_SIZE) { + av_log(avctx, AV_LOG_ERROR, "imc frame too small!\n"); + return -1; + } for(i = 0; i < IMC_BLOCK_SIZE / 2; i++) buf16[i] = bswap_16(((const uint16_t*)buf)[i]); |