aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2016-05-19 18:02:53 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2016-06-05 02:40:31 +0200
commit4d9fdca05319ec84c3052521b6693ce59fd2e0d9 (patch)
treee75b8ee5b8afb423d5ed315abeb6ef6c2df1cd6e
parentb11900251fff69214cb5c73b491ca14c6bc2eacb (diff)
downloadffmpeg-4d9fdca05319ec84c3052521b6693ce59fd2e0d9.tar.gz
avcodec/diracdec: Fix potential integer overflow
Fixes CID1361948 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit 7ecfe4dc363435c81e66dd14881dc0b0ccc73fb1) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--libavcodec/diracdec.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavcodec/diracdec.c b/libavcodec/diracdec.c
index 05c79005eb..1d7bb9b98b 100644
--- a/libavcodec/diracdec.c
+++ b/libavcodec/diracdec.c
@@ -903,8 +903,8 @@ static int decode_lowdelay(DiracContext *s)
} else {
for (slice_y = 0; bufsize > 0 && slice_y < s->num_y; slice_y++) {
for (slice_x = 0; bufsize > 0 && slice_x < s->num_x; slice_x++) {
- bytes = (slice_num+1) * s->lowdelay.bytes.num / s->lowdelay.bytes.den
- - slice_num * s->lowdelay.bytes.num / s->lowdelay.bytes.den;
+ bytes = (slice_num+1) * (int64_t)s->lowdelay.bytes.num / s->lowdelay.bytes.den
+ - slice_num * (int64_t)s->lowdelay.bytes.num / s->lowdelay.bytes.den;
slices[slice_num].bytes = bytes;
slices[slice_num].slice_x = slice_x;
slices[slice_num].slice_y = slice_y;