aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuca Barbato <lu_zero@gentoo.org>2013-08-12 00:16:12 +0200
committerLuca Barbato <lu_zero@gentoo.org>2013-10-16 23:05:51 +0200
commitcda26ab21eb574e7e39b0a329941d87754b8c477 (patch)
tree362525aeb0d0605a3909b195e33294e96dc707e0
parent3cc05e0d9d24d0d6f2fdb1d49ec6b6d298816dae (diff)
downloadffmpeg-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.c4
-rw-r--r--tests/ref/fate/nuv1
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