aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2013-09-29 00:38:50 +0300
committerLuca Barbato <lu_zero@gentoo.org>2014-01-07 09:43:57 +0100
commit5a40e4c64d909006b401419f9ab9cc96ce0b7337 (patch)
tree8ec5f436f90391ca8a7de3de92eb5da51b231c40
parentac1e61d5593d987876e2947b42a7aa37a4efcd4e (diff)
downloadffmpeg-5a40e4c64d909006b401419f9ab9cc96ce0b7337.tar.gz
pcx: Consume the whole packet if giving up due to missing palette
Previously, we returned 0, meaning successful decoding but 0 bytes consumed, leading to an infinite loop. Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st> (cherry picked from commit 9fb0de86b49e9fb0709a8ad1e1875e35da841887) Signed-off-by: Luca Barbato <lu_zero@gentoo.org> (cherry picked from commit 812955a12b190012c134be33a93f27308953eb2f)
-rw-r--r--libavcodec/pcx.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/libavcodec/pcx.c b/libavcodec/pcx.c
index 0377b9298c..0e8201267a 100644
--- a/libavcodec/pcx.c
+++ b/libavcodec/pcx.c
@@ -195,6 +195,7 @@ static int pcx_decode_frame(AVCodecContext *avctx, void *data, int *data_size,
}
if (*buf++ != 12) {
av_log(avctx, AV_LOG_ERROR, "expected palette after image data\n");
+ ret = buf_size;
goto end;
}