diff options
Diffstat (limited to 'audio/faad2/patches/patch-libfaad_bits.c')
-rw-r--r-- | audio/faad2/patches/patch-libfaad_bits.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/audio/faad2/patches/patch-libfaad_bits.c b/audio/faad2/patches/patch-libfaad_bits.c new file mode 100644 index 00000000000..baecd8cc5e8 --- /dev/null +++ b/audio/faad2/patches/patch-libfaad_bits.c @@ -0,0 +1,21 @@ +$NetBSD: patch-libfaad_bits.c,v 1.1.2.2 2019/07/13 11:12:03 bsiegert Exp $ + +Fix a potential buffer overflow. + +Upstream commit: +https://github.com/knik0/faad2/commit/942c3e0aee748ea6fe97cb2c1aa5893225316174.patch + +--- libfaad/bits.c.orig 2017-07-06 19:16:40.000000000 +0000 ++++ libfaad/bits.c +@@ -167,7 +167,10 @@ void faad_resetbits(bitfile *ld, int bit + int words = bits >> 5; + int remainder = bits & 0x1F; + +- ld->bytes_left = ld->buffer_size - words*4; ++ if (ld->buffer_size < words * 4) ++ ld->bytes_left = 0; ++ else ++ ld->bytes_left = ld->buffer_size - words*4; + + if (ld->bytes_left >= 4) + { |