avcodec/dstdec: Fix integer overflow in samples_per_frame computation
authorMichael Niedermayer <michael@niedermayer.cc>
Wed, 25 Sep 2019 14:48:46 +0000 (16:48 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Thu, 26 Sep 2019 19:02:34 +0000 (21:02 +0200)
Fixes: Timeout (? -> 2ms)
Fixes: 17616/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DST_fuzzer-5198057947267072

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/dstdec.c

index 0614c99..8a1bc6a 100644 (file)
@@ -37,7 +37,7 @@
 #define DST_MAX_CHANNELS 6
 #define DST_MAX_ELEMENTS (2 * DST_MAX_CHANNELS)
 
-#define DSD_FS44(sample_rate) (sample_rate * 8 / 44100)
+#define DSD_FS44(sample_rate) (sample_rate * 8LL / 44100)
 
 #define DST_SAMPLES_PER_FRAME(sample_rate) (588 * DSD_FS44(sample_rate))