libavcodec/cfhd: Fix signed overflow in shift
authorMichael Niedermayer <michael@niedermayer.cc>
Fri, 13 Jul 2018 22:24:47 +0000 (00:24 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Sun, 15 Jul 2018 17:42:25 +0000 (19:42 +0200)
Fixes: 8695/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CFHD_fuzzer-4906172426485760

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/cfhd.c

index 051d210..ef5ebe4 100644 (file)
@@ -541,7 +541,7 @@ static int cfhd_decode(AVCodecContext *avctx, void *data, int *got_frame,
             s->peak.level   = 0;
         } else if (tag == -76) {
             s->peak.offset &= 0xffff;
-            s->peak.offset |= (data & 0xffff)<<16;
+            s->peak.offset |= (data & 0xffffU)<<16;
             s->peak.base    = (int16_t *) gb.buffer;
             s->peak.level   = 0;
         } else if (tag == -74 && s->peak.offset) {