aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2013-09-19 15:58:59 +0300
committerLuca Barbato <lu_zero@gentoo.org>2014-01-07 09:43:58 +0100
commit49c1defee5221cb8b533cc5cf731fb61f0508647 (patch)
tree30d0187dc4a76e2d4997d6083295d8d05066ec58
parent871baf312791b5bdf00affa34ceb6dbc239cd077 (diff)
downloadffmpeg-49c1defee5221cb8b533cc5cf731fb61f0508647.tar.gz
svq3: Avoid a division by zero
If the height is zero, the decompression will probably end up failing due to not fitting into the allocated buffer later anyway, so this doesn't need any more elaborate check. 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 601c2015bc16f0b281160292a6a760cbbbb0eacb)
-rw-r--r--libavcodec/svq3.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/svq3.c b/libavcodec/svq3.c
index 5097af5b5f..601afb6b7f 100644
--- a/libavcodec/svq3.c
+++ b/libavcodec/svq3.c
@@ -902,7 +902,8 @@ static av_cold int svq3_decode_init(AVCodecContext *avctx)
int offset = (get_bits_count(&gb)+7)>>3;
uint8_t *buf;
- if ((uint64_t)watermark_width*4 > UINT_MAX/watermark_height)
+ if (watermark_height > 0 &&
+ (uint64_t)watermark_width * 4 > UINT_MAX / watermark_height)
return -1;
buf = av_malloc(buf_len);