avcodec/truemotion2: Fix runtime error: left shift of 1 by 31 places cannot be repres...
authorMichael Niedermayer <michael@niedermayer.cc>
Sun, 28 May 2017 19:54:02 +0000 (21:54 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Sun, 28 May 2017 19:55:06 +0000 (21:55 +0200)
Fixes part of: 1888/clusterfuzz-testcase-minimized-5237704826552320

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

index 245a32a..4f0e52d 100644 (file)
@@ -272,7 +272,7 @@ static int tm2_read_deltas(TM2Context *ctx, int stream_id)
     for (i = 0; i < d; i++) {
         v = get_bits_long(&ctx->gb, mb);
         if (v & (1 << (mb - 1)))
-            ctx->deltas[stream_id][i] = v - (1 << mb);
+            ctx->deltas[stream_id][i] = v - (1U << mb);
         else
             ctx->deltas[stream_id][i] = v;
     }