]> git.sesse.net Git - vlc/commitdiff
speexdsp: fix integer overflow (probably fixes #5781)
authorRémi Denis-Courmont <remi@remlab.net>
Thu, 12 Feb 2015 18:54:58 +0000 (20:54 +0200)
committerRémi Denis-Courmont <remi@remlab.net>
Thu, 12 Feb 2015 19:00:51 +0000 (21:00 +0200)
modules/audio_filter/resampler/speex.c

index 774fc8fadda9653640154ebbb59fd0e42125ca63..9b967bfc4828c3216e1c9e7f607e3dda0c53c28c 100644 (file)
@@ -22,6 +22,8 @@
 # include <config.h>
 #endif
 
+#include <inttypes.h>
+
 #include <vlc_common.h>
 #include <vlc_aout.h>
 #include <vlc_filter.h>
@@ -124,7 +126,8 @@ static block_t *Resample (filter_t *filter, block_t *in)
     const unsigned orate = filter->fmt_out.audio.i_rate;
 
     spx_uint32_t ilen = in->i_nb_samples;
-    spx_uint32_t olen = ((ilen + 2) * orate * 11) / (irate * 10);
+    spx_uint32_t olen = ((ilen + 2) * orate * UINT64_C(11))
+                      / (irate * UINT64_C(10));
 
     block_t *out = block_Alloc (olen * framesize);
     if (unlikely(out == NULL))