mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-04-24 17:12:34 +02:00
xldec: move buffer size check up, it can be done before allocating a frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
94b42da696
commit
8c59e0c362
@ -57,6 +57,11 @@ static int decode_frame(AVCodecContext *avctx,
|
|||||||
return AVERROR_INVALIDDATA;
|
return AVERROR_INVALIDDATA;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (buf_size < avctx->width * avctx->height) {
|
||||||
|
av_log(avctx, AV_LOG_ERROR, "Packet is too small\n");
|
||||||
|
return AVERROR_INVALIDDATA;
|
||||||
|
}
|
||||||
|
|
||||||
if(p->data[0])
|
if(p->data[0])
|
||||||
avctx->release_buffer(avctx, p);
|
avctx->release_buffer(avctx, p);
|
||||||
|
|
||||||
@ -74,11 +79,6 @@ static int decode_frame(AVCodecContext *avctx,
|
|||||||
|
|
||||||
stride = avctx->width - 4;
|
stride = avctx->width - 4;
|
||||||
|
|
||||||
if (buf_size < avctx->width * avctx->height) {
|
|
||||||
av_log(avctx, AV_LOG_ERROR, "Packet is too small\n");
|
|
||||||
return AVERROR_INVALIDDATA;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 0; i < avctx->height; i++) {
|
for (i = 0; i < avctx->height; i++) {
|
||||||
/* lines are stored in reversed order */
|
/* lines are stored in reversed order */
|
||||||
buf += stride;
|
buf += stride;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user