diff --git a/libavcodec/nuv.c b/libavcodec/nuv.c index 4d5063fad7ff9843d7d21bca8787949f98ad3dd2..269bf8bfbbc1c2ac59d82bb26174f76836716e21 100644 --- a/libavcodec/nuv.c +++ b/libavcodec/nuv.c @@ -200,8 +200,10 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, buf_size -= 12; if (comptype == NUV_RTJPEG_IN_LZO || comptype == NUV_LZO) { int outlen = c->decomp_size, inlen = buf_size; - if (av_lzo1x_decode(c->decomp_buf, &outlen, buf, &inlen)) + if (av_lzo1x_decode(c->decomp_buf, &outlen, buf, &inlen)) { av_log(avctx, AV_LOG_ERROR, "error during lzo decompression\n"); + return AVERROR_INVALIDDATA; + } buf = c->decomp_buf; buf_size = c->decomp_size; } diff --git a/tests/ref/fate/nuv-rtjpeg b/tests/ref/fate/nuv-rtjpeg index e9286d6a6df0f91e9536f40785775c063a1e4bea..a5c9c4a6f301b008760d7b51c31338a015b01116 100644 --- a/tests/ref/fate/nuv-rtjpeg +++ b/tests/ref/fate/nuv-rtjpeg @@ -7,4 +7,3 @@ 0, 269, 269, 0, 460800, 0x4e091ee2 0, 302, 302, 0, 460800, 0x2ea88828 0, 335, 335, 0, 460800, 0x4b7f4df0 -0, 369, 369, 0, 460800, 0xb30eb322