# HG changeset patch # User rtognimp # Date 1095195739 0 # Node ID 55174e3d2917a486a4bd60846c0c6d6830eb9341 # Parent 6c002b4462aed46266f8087a746265c128ae1796 Index must be positive to prevent endless loop on bad data Based on an idea by iive diff -r 6c002b4462ae -r 55174e3d2917 mp3lib/layer2.c --- a/mp3lib/layer2.c Tue Sep 14 20:43:39 2004 +0000 +++ b/mp3lib/layer2.c Tue Sep 14 21:02:19 2004 +0000 @@ -80,12 +80,12 @@ bita = bit_alloc; if(stereo) { - for (i=jsbound;i;i--,alloc1+=(1<0;i--,alloc1+=(1<bits); *bita++ = (char) getbits(step); } - for (i=sblimit-jsbound;i;i--,alloc1+=(1<0;i--,alloc1+=(1<bits); bita[1] = bita[0]; @@ -93,24 +93,24 @@ } bita = bit_alloc; scfsi=scfsi_buf; - for (i=sblimit2;i;i--) + for (i=sblimit2;i>0;i--) if (*bita++) *scfsi++ = (char) getbits_fast(2); } else /* mono */ { - for (i=sblimit;i;i--,alloc1+=(1<0;i--,alloc1+=(1<bits); bita = bit_alloc; scfsi=scfsi_buf; - for (i=sblimit;i;i--) + for (i=sblimit;i>0;i--) if (*bita++) *scfsi++ = (char) getbits_fast(2); } bita = bit_alloc; scfsi=scfsi_buf; - for (i=sblimit2;i;i--) + for (i=sblimit2;i>0;i--) if (*bita++) switch (*scfsi++) {