aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2013-09-16 15:40:57 +0300
committerLuca Barbato <lu_zero@gentoo.org>2013-10-04 03:26:27 +0200
commit0b0f1cd44ece180e12795cfc8d0a0ac5ea3ebe2c (patch)
treeff3671bbf1271bb0b3e40aefcd70a45d2512397e
parent00516b5491fbd99e4057f21eae231fc02cc596e3 (diff)
downloadffmpeg-0b0f1cd44ece180e12795cfc8d0a0ac5ea3ebe2c.tar.gz
rv10: Validate the dimensions set from the container
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 5372cda67109848d22146289e401669266217e80) Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
-rw-r--r--libavcodec/rv10.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libavcodec/rv10.c b/libavcodec/rv10.c
index 26af29ff26..04518dd21b 100644
--- a/libavcodec/rv10.c
+++ b/libavcodec/rv10.c
@@ -426,12 +426,15 @@ static av_cold int rv10_decode_init(AVCodecContext *avctx)
RVDecContext *rv = avctx->priv_data;
MpegEncContext *s = &rv->m;
static int done=0;
- int major_ver, minor_ver, micro_ver;
+ int major_ver, minor_ver, micro_ver, ret;
if (avctx->extradata_size < 8) {
av_log(avctx, AV_LOG_ERROR, "Extradata is too small.\n");
return -1;
}
+ if ((ret = av_image_check_size(avctx->coded_width,
+ avctx->coded_height, 0, avctx)) < 0)
+ return ret;
ff_MPV_decode_defaults(s);