diff mbox

[FFmpeg-devel] avcodec/truemotion2: Fix integer overflow in TM2_RECALC_BLOCK()

Message ID 20180120035029.20387-1-michael@niedermayer.cc
State Accepted
Commit 56a53340ed4cc55898e49c07081311ebb2816630
Headers show

Commit Message

Michael Niedermayer Jan. 20, 2018, 3:50 a.m. UTC
Fixes: signed integer overflow: 1477974040 - -1877995504 cannot be represented in type 'int'
Fixes: 4861/clusterfuzz-testcase-minimized-4570316383715328

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
 libavcodec/truemotion2.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Michael Niedermayer Jan. 21, 2018, 8:13 p.m. UTC | #1
On Sat, Jan 20, 2018 at 04:50:29AM +0100, Michael Niedermayer wrote:
> Fixes: signed integer overflow: 1477974040 - -1877995504 cannot be represented in type 'int'
> Fixes: 4861/clusterfuzz-testcase-minimized-4570316383715328
> 
> Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
> ---
>  libavcodec/truemotion2.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

applied

[...]
diff mbox

Patch

diff --git a/libavcodec/truemotion2.c b/libavcodec/truemotion2.c
index f077f0e4bd..97c38f7f08 100644
--- a/libavcodec/truemotion2.c
+++ b/libavcodec/truemotion2.c
@@ -441,8 +441,8 @@  static inline int GET_TOK(TM2Context *ctx,int type)
 
 /* recalculate last and delta values for next blocks */
 #define TM2_RECALC_BLOCK(CHR, stride, last, CD) {\
-    CD[0] = CHR[1] - last[1];\
-    CD[1] = (int)CHR[stride + 1] - (int)CHR[1];\
+    CD[0] = (unsigned)CHR[         1] - (unsigned)last[1];\
+    CD[1] = (unsigned)CHR[stride + 1] - (unsigned) CHR[1];\
     last[0] = (int)CHR[stride + 0];\
     last[1] = (int)CHR[stride + 1];}