diff options
author | Luca Barbato <lu_zero@gentoo.org> | 2013-08-12 00:16:12 +0200 |
---|---|---|
committer | Luca Barbato <lu_zero@gentoo.org> | 2013-10-16 23:05:51 +0200 |
commit | cda26ab21eb574e7e39b0a329941d87754b8c477 (patch) | |
tree | 362525aeb0d0605a3909b195e33294e96dc707e0 | |
parent | 3cc05e0d9d24d0d6f2fdb1d49ec6b6d298816dae (diff) | |
download | ffmpeg-cda26ab21eb574e7e39b0a329941d87754b8c477.tar.gz |
nuv: Do not ignore lzo decompression failures
Update the fate reference since the last broken frame is not decoded
anymore.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
(cherry picked from commit aae159a7cc4df7d0521901022b778c9da251c24e)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Conflicts:
libavcodec/nuv.c
-rw-r--r-- | libavcodec/nuv.c | 4 | ||||
-rw-r--r-- | tests/ref/fate/nuv | 1 |
2 files changed, 3 insertions, 2 deletions
diff --git a/libavcodec/nuv.c b/libavcodec/nuv.c index 519b550bcd..b4e21bf0dd 100644 --- a/libavcodec/nuv.c +++ b/libavcodec/nuv.c @@ -177,8 +177,10 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, 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 b/tests/ref/fate/nuv index f1fcae3883..c43c09cf85 100644 --- a/tests/ref/fate/nuv +++ b/tests/ref/fate/nuv @@ -18,7 +18,6 @@ 1, 20898, 4096, 0x28f7c6e5 0, 21021, 460800, 0x4b7f4df0 1, 22988, 4096, 0xca9d9df2 -0, 24024, 460800, 0xb30eb322 1, 25078, 4096, 0x5c6b95a9 1, 27167, 4096, 0x0bdfc0bf 1, 29257, 4096, 0xd95a9277 |