Skip to content

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

Diff for: libfaad/bits.c

+4-1
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,10 @@ void faad_resetbits(bitfile *ld, int bits)
167167
int words = bits >> 5;
168168
int remainder = bits & 0x1F;
169169

170-
ld->bytes_left = ld->buffer_size - words*4;
170+
if (ld->buffer_size < words * 4)
171+
ld->bytes_left = 0;
172+
else
173+
ld->bytes_left = ld->buffer_size - words*4;
171174

172175
if (ld->bytes_left >= 4)
173176
{

Diff for: libfaad/syntax.c

+2
Original file line numberDiff line numberDiff line change
@@ -2304,6 +2304,8 @@ static uint8_t excluded_channels(bitfile *ld, drc_info *drc)
23042304
while ((drc->additional_excluded_chns[n-1] = faad_get1bit(ld
23052305
DEBUGVAR(1,104,"excluded_channels(): additional_excluded_chns"))) == 1)
23062306
{
2307+
if (i >= MAX_CHANNELS - num_excl_chan - 7)
2308+
return n;
23072309
for (i = num_excl_chan; i < num_excl_chan+7; i++)
23082310
{
23092311
drc->exclude_mask[i] = faad_get1bit(ld

0 commit comments

Comments
 (0)