mulawdec: fix integer overrun
authorRoland Krikava <rkrikava@gmail.com>
Fri, 2 Nov 2012 16:38:44 +0000 (12:38 -0400)
committerTim-Philipp Müller <tim@centricular.net>
Sat, 24 Nov 2012 14:24:41 +0000 (14:24 +0000)
There might be more than 65535 samples in a chunk of data.

https://bugzilla.gnome.org/show_bug.cgi?id=687469

gst/law/mulaw-conversion.c [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index 8afae80..190a9f5
@@ -51,9 +51,10 @@ mulaw_encode (gint16 * in, guint8 * out, gint numsamples)
     7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
     7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7
   };
-  gint16 sign, exponent, mantissa, i;
+  gint16 sign, exponent, mantissa;
   gint16 sample;
   guint8 ulawbyte;
+  gint i;
 
   for (i = 0; i < numsamples; i++) {
     sample = in[i];
@@ -102,7 +103,8 @@ mulaw_decode (guint8 * in, gint16 * out, gint numsamples)
   static gint16 exp_lut[8] = { 0, 132, 396, 924, 1980, 4092, 8316, 16764 };
   gint16 sign, exponent, mantissa;
   guint8 ulawbyte;
-  gint16 linear, i;
+  gint16 linear;
+  gint i;
 
   for (i = 0; i < numsamples; i++) {
     ulawbyte = in[i];