swresample/swresample: Fix integer overflow in seed calculation
authorMichael Niedermayer <michael@niedermayer.cc>
Thu, 3 Sep 2015 07:22:31 +0000 (09:22 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Thu, 3 Sep 2015 07:32:43 +0000 (09:32 +0200)
Fixes CID1322333

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libswresample/swresample.c

index e480269..8e23899 100644 (file)
@@ -650,7 +650,7 @@ static int swr_convert_internal(struct SwrContext *s, AudioData *out, int out_co
                 return ret;
             if(ret)
                 for(ch=0; ch<s->dither.noise.ch_count; ch++)
-                    if((ret=swri_get_dither(s, s->dither.noise.ch[ch], s->dither.noise.count, 12345678913579<<ch, s->dither.noise.fmt))<0)
+                    if((ret=swri_get_dither(s, s->dither.noise.ch[ch], s->dither.noise.count, (12345678913579ULL*ch + 3141592) % 2718281828U, s->dither.noise.fmt))<0)
                         return ret;
             av_assert0(s->dither.noise.ch_count == preout->ch_count);