Skip to content

Commit 18e5314

Browse files
authored
Merge pull request #166 from npt-1707/fix-CVE-2019-15296
Fix a couple buffer overflows
2 parents 0571e4b + a2032ef commit 18e5314

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

third_party/faad2-2.7/libfaad/bits.c

Lines changed: 4 additions & 1 deletion
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
{

third_party/faad2-2.7/libfaad/syntax.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2167,11 +2167,11 @@ static uint16_t extension_payload(bitfile *ld, drc_info *drc, uint16_t count)
21672167
return n;
21682168
case EXT_FILL_DATA:
21692169
/* fill_nibble = */ faad_getbits(ld, 4
2170-
DEBUGVAR(1,136,"extension_payload(): fill_nibble")); /* must be ‘0000’ */
2170+
DEBUGVAR(1,136,"extension_payload(): fill_nibble")); /* must be 0000 */
21712171
for (i = 0; i < count-1; i++)
21722172
{
21732173
/* fill_byte[i] = */ faad_getbits(ld, 8
2174-
DEBUGVAR(1,88,"extension_payload(): fill_byte")); /* must be ‘10100101’ */
2174+
DEBUGVAR(1,88,"extension_payload(): fill_byte")); /* must be 10100101 */
21752175
}
21762176
return count;
21772177
case EXT_DATA_ELEMENT:
@@ -2292,6 +2292,8 @@ static uint8_t excluded_channels(bitfile *ld, drc_info *drc)
22922292
while ((drc->additional_excluded_chns[n-1] = faad_get1bit(ld
22932293
DEBUGVAR(1,104,"excluded_channels(): additional_excluded_chns"))) == 1)
22942294
{
2295+
if (i >= MAX_CHANNELS - num_excl_chan - 7)
2296+
return n;
22952297
for (i = num_excl_chan; i < num_excl_chan+7; i++)
22962298
{
22972299
drc->exclude_mask[i] = faad_get1bit(ld

0 commit comments

Comments
 (0)