diff options
-rw-r--r-- | user/faad2/APKBUILD | 9 | ||||
-rw-r--r-- | user/faad2/overflow.patch | 25 |
2 files changed, 31 insertions, 3 deletions
diff --git a/user/faad2/APKBUILD b/user/faad2/APKBUILD index c76894b27..3794942b9 100644 --- a/user/faad2/APKBUILD +++ b/user/faad2/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: pkgname=faad2 pkgver=2.8.8 -pkgrel=0 +pkgrel=1 pkgdesc="ISO AAC audio decoder" url="https://www.audiocoding.com/" arch="all" @@ -10,7 +10,9 @@ license="GPL-2.0+" subpackages="$pkgname-dev $pkgname-doc" depends="" makedepends="autoconf automake libtool" -source="https://downloads.sourceforge.net/sourceforge/faac/$pkgname-$pkgver.tar.gz" +source="https://downloads.sourceforge.net/sourceforge/faac/$pkgname-$pkgver.tar.gz + overflow.patch + " build() { cd "$builddir" @@ -26,4 +28,5 @@ package() { make DESTDIR="$pkgdir" install } -sha512sums="3275d292b2a9fe984842962f4d81202894bddd17033f7cd6df95466554cc968dfcbf2890ae8b1df37da0cd25d645cca0a687f07e39b9fc37dd004fd5956a82af faad2-2.8.8.tar.gz" +sha512sums="3275d292b2a9fe984842962f4d81202894bddd17033f7cd6df95466554cc968dfcbf2890ae8b1df37da0cd25d645cca0a687f07e39b9fc37dd004fd5956a82af faad2-2.8.8.tar.gz +f9266ca424d1e4f5b46c2f6b4b1568caee86849d2b6edc3b6c1fb7cf08fd736c0a8fe2c096c3bc64674e4fa40619c24d45d6d6125f11360517feb09a5c996a34 overflow.patch" diff --git a/user/faad2/overflow.patch b/user/faad2/overflow.patch new file mode 100644 index 000000000..5a198f8d8 --- /dev/null +++ b/user/faad2/overflow.patch @@ -0,0 +1,25 @@ +--- faad2/libfaad/bits.c 2007-11-01 13:33:29.000000000 +0100 ++++ faad2.new/libfaad/bits.c 2019-03-25 17:29:26.134199188 +0100 +@@ -167,7 +167,10 @@ + 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) + { +--- faad2/libfaad/syntax.c 2019-03-25 17:57:36.930937066 +0100 ++++ faad2.new/libfaad/syntax.c 2019-03-25 17:49:26.135368525 +0100 +@@ -2292,6 +2292,8 @@ + while ((drc->additional_excluded_chns[n-1] = faad_get1bit(ld + DEBUGVAR(1,104,"excluded_channels(): additional_excluded_chns"))) == 1) + { ++ if (i >= MAX_CHANNELS - num_excl_chan - 7) ++ return n; + for (i = num_excl_chan; i < num_excl_chan+7; i++) + { + drc->exclude_mask[i] = faad_get1bit(ld |