mirror of https://git.ffmpeg.org/ffmpeg.git
alsdec: check block length
Fix writing over the end Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Addresses: CVE-2013-0845
This commit is contained in:
parent
1a5fdf9519
commit
2a0fb7286d
|
@ -1376,6 +1376,11 @@ static int read_frame_data(ALSDecContext *ctx, unsigned int ra_frame)
|
||||||
|
|
||||||
for (b = 0; b < ctx->num_blocks; b++) {
|
for (b = 0; b < ctx->num_blocks; b++) {
|
||||||
bd.block_length = div_blocks[b];
|
bd.block_length = div_blocks[b];
|
||||||
|
if (bd.block_length <= 0) {
|
||||||
|
av_log(ctx->avctx, AV_LOG_WARNING,
|
||||||
|
"Invalid block length %d in channel data!\n", bd.block_length);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
for (c = 0; c < avctx->channels; c++) {
|
for (c = 0; c < avctx->channels; c++) {
|
||||||
bd.const_block = ctx->const_block + c;
|
bd.const_block = ctx->const_block + c;
|
||||||
|
|
Loading…
Reference in New Issue