mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
cljr: Check if width or height are positive integers
width and height might get passed as 0 and would cause floating point exceptions in decode_frame. Fixes bugzilla #149 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
7b92863f30
commit
4af0262f7d
@ -61,6 +61,11 @@ static int decode_frame(AVCodecContext *avctx,
|
|||||||
if (p->data[0])
|
if (p->data[0])
|
||||||
avctx->release_buffer(avctx, p);
|
avctx->release_buffer(avctx, p);
|
||||||
|
|
||||||
|
if (avctx->height <= 0 || avctx->width <= 0) {
|
||||||
|
av_log(avctx, AV_LOG_ERROR, "Invalid width or height\n");
|
||||||
|
return AVERROR_INVALIDDATA;
|
||||||
|
}
|
||||||
|
|
||||||
if (buf_size / avctx->height < avctx->width) {
|
if (buf_size / avctx->height < avctx->width) {
|
||||||
av_log(avctx, AV_LOG_ERROR,
|
av_log(avctx, AV_LOG_ERROR,
|
||||||
"Resolution larger than buffer size. Invalid header?\n");
|
"Resolution larger than buffer size. Invalid header?\n");
|
||||||
|
Loading…
Reference in New Issue
Block a user