mirror of https://git.ffmpeg.org/ffmpeg.git
avcodec/txd: Fix input size checks for dxt1/3 for dimensions % 4 != 0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
873d7e0e63
commit
daea320969
|
@ -94,12 +94,12 @@ static int txd_decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
|
|||
if (!(flags & 1))
|
||||
goto unsupported;
|
||||
case FF_S3TC_DXT1:
|
||||
if (bytestream2_get_bytes_left(&gb) < (w/4) * (h/4) * 8)
|
||||
if (bytestream2_get_bytes_left(&gb) < FF_CEIL_RSHIFT(w, 2) * FF_CEIL_RSHIFT(h, 2) * 8)
|
||||
return AVERROR_INVALIDDATA;
|
||||
ff_decode_dxt1(&gb, ptr, w, h, stride);
|
||||
break;
|
||||
case FF_S3TC_DXT3:
|
||||
if (bytestream2_get_bytes_left(&gb) < (w/4) * (h/4) * 16)
|
||||
if (bytestream2_get_bytes_left(&gb) < FF_CEIL_RSHIFT(w, 2) * FF_CEIL_RSHIFT(h, 2) * 16)
|
||||
return AVERROR_INVALIDDATA;
|
||||
ff_decode_dxt3(&gb, ptr, w, h, stride);
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue