From 37683e06b9daa9eff057ede540b844a12d0744f5 Mon Sep 17 00:00:00 2001 From: Fabrice Fontaine Date: Mon, 21 Feb 2022 23:00:25 +0100 Subject: [PATCH] package/flac: security bump to version 1.3.4 This release mostly fixes (security related) bugs including: - Fix 12 decoder bugs found by oss-fuzz, including CVE-2020-0499 - Fix encoder bug CVE-2021-0561 Also: - Replace first patch which was reverted by https://github.com/xiph/flac/commit/4fbb6d4f2ecf2a96c17ea9880108409f852c08a9 - Disable stack protection (enabled by default since https://github.com/xiph/flac/commit/f706f2832270a0b7851cdffe62ad37acda9423fe) - Drop md5 which is not provided anymore - Update indentation in hash file (two spaces) https://github.com/xiph/flac/releases/tag/1.3.4 Signed-off-by: Fabrice Fontaine Signed-off-by: Peter Korsgaard (cherry picked from commit 4c7e250c699b23051a64bc0c2ef3e3f2bd020b3d) Signed-off-by: Peter Korsgaard --- package/flac/0001-Fix-uclibc-build.patch | 81 +++++++++++++++++++ ...ck-for-sys-auxv.h-before-defining-FL.patch | 36 --------- package/flac/flac.hash | 12 ++- package/flac/flac.mk | 5 +- 4 files changed, 89 insertions(+), 45 deletions(-) create mode 100644 package/flac/0001-Fix-uclibc-build.patch delete mode 100644 package/flac/0001-configure.ac-check-for-sys-auxv.h-before-defining-FL.patch diff --git a/package/flac/0001-Fix-uclibc-build.patch b/package/flac/0001-Fix-uclibc-build.patch new file mode 100644 index 0000000000..fcba670fae --- /dev/null +++ b/package/flac/0001-Fix-uclibc-build.patch @@ -0,0 +1,81 @@ +From 4c62082f64132bfcbcb6569aa914c5ec283303f9 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Mon, 21 Feb 2022 18:21:11 +0100 +Subject: [PATCH] Fix uclibc build + +Commit 4fbb6d4f2ecf2a96c17ea9880108409f852c08a9 reverted commit +44036c9a9b45d03373fe90e9c112852bfc054c51 and so broke again the build on +uclibc + +So put back the sys/auxv.h check as well as a getauxval check in a way +that doesn't break iOS + +Signed-off-by: Fabrice Fontaine +[Upstream status: https://github.com/xiph/flac/pull/292] +--- + configure.ac | 5 ++++- + src/libFLAC/cpu.c | 9 ++++----- + 2 files changed, 8 insertions(+), 6 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 4d7dc2e4..6f32fa45 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -69,7 +69,7 @@ AC_C_INLINE + AC_C_VARARRAYS + AC_C_TYPEOF + +-AC_CHECK_HEADERS([stdint.h inttypes.h byteswap.h sys/param.h sys/ioctl.h termios.h x86intrin.h cpuid.h]) ++AC_CHECK_HEADERS([stdint.h inttypes.h byteswap.h sys/auxv.h sys/param.h sys/ioctl.h termios.h x86intrin.h cpuid.h]) + + XIPH_C_BSWAP32 + XIPH_C_BSWAP16 +@@ -101,6 +101,9 @@ fi + # For the XMMS plugin. + AC_CHECK_TYPES(socklen_t, [], []) + ++dnl check for getauxval in standard library ++AC_CHECK_FUNCS(getauxval) ++ + dnl check for getopt in standard library + dnl AC_CHECK_FUNCS(getopt_long , , [LIBOBJS="$LIBOBJS getopt.o getopt1.o"] ) + AC_CHECK_FUNCS(getopt_long, [], []) +diff --git a/src/libFLAC/cpu.c b/src/libFLAC/cpu.c +index 8b92f4c7..64c6acad 100644 +--- a/src/libFLAC/cpu.c ++++ b/src/libFLAC/cpu.c +@@ -53,11 +53,9 @@ + #define dfprintf(file, format, ...) + #endif + +-#if defined FLAC__CPU_PPC +-#if defined(__linux__) || (defined(__FreeBSD__) && (__FreeBSD__ >= 12)) ++#if defined(HAVE_SYS_AUXV_H) + #include + #endif +-#endif + + #if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && (defined FLAC__HAS_NASM || FLAC__HAS_X86INTRIN) && !defined FLAC__NO_ASM + +@@ -247,7 +245,7 @@ ppc_cpu_info (FLAC__CPUInfo *info) + #define PPC_FEATURE2_ARCH_2_07 0x80000000 + #endif + +-#ifdef __linux__ ++#if defined (__linux__) && defined(HAVE_GETAUXVAL) + if (getauxval(AT_HWCAP2) & PPC_FEATURE2_ARCH_3_00) { + info->ppc.arch_3_00 = true; + } else if (getauxval(AT_HWCAP2) & PPC_FEATURE2_ARCH_2_07) { +@@ -267,7 +265,8 @@ ppc_cpu_info (FLAC__CPUInfo *info) + info->ppc.arch_2_07 = false; + info->ppc.arch_3_00 = false; + #else +-#error Unsupported platform! Please add support for reading ppc hwcaps. ++ info->ppc.arch_2_07 = false; ++ info->ppc.arch_3_00 = false; + #endif + + #else +-- +2.34.1 + diff --git a/package/flac/0001-configure.ac-check-for-sys-auxv.h-before-defining-FL.patch b/package/flac/0001-configure.ac-check-for-sys-auxv.h-before-defining-FL.patch deleted file mode 100644 index d1398d4b3e..0000000000 --- a/package/flac/0001-configure.ac-check-for-sys-auxv.h-before-defining-FL.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 14a0713389fbfef59225d027ea466ebb478a8c6b Mon Sep 17 00:00:00 2001 -From: Peter Seiderer -Date: Thu, 19 Sep 2019 21:18:04 +0200 -Subject: [PATCH] configure.ac: check for sys/auxv.h before defining FLAC__CPU_PPC - -Upstream: https://github.com/xiph/flac/pull/142 -Signed-off-by: Peter Seiderer ---- - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 0228a12..64cb3f2 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -144,7 +144,7 @@ case "$host_cpu" in - powerpc64|powerpc64le) - cpu_ppc64=true - cpu_ppc=true -- AC_DEFINE(FLAC__CPU_PPC) -+ AC_CHECK_HEADER(sys/auxv.h, AC_DEFINE(FLAC__CPU_PPC)) - AH_TEMPLATE(FLAC__CPU_PPC, [define if building for PowerPC]) - AC_DEFINE(FLAC__CPU_PPC64) - AH_TEMPLATE(FLAC__CPU_PPC64, [define if building for PowerPC64]) -@@ -152,7 +152,7 @@ case "$host_cpu" in - ;; - powerpc|powerpcle) - cpu_ppc=true -- AC_DEFINE(FLAC__CPU_PPC) -+ AC_CHECK_HEADER(sys/auxv.h, AC_DEFINE(FLAC__CPU_PPC)) - AH_TEMPLATE(FLAC__CPU_PPC, [define if building for PowerPC]) - asm_optimisation=$asm_opt - ;; --- -2.23.0 - diff --git a/package/flac/flac.hash b/package/flac/flac.hash index df7c2d1b95..2444535e0f 100644 --- a/package/flac/flac.hash +++ b/package/flac/flac.hash @@ -1,10 +1,8 @@ -# From https://ftp.osuosl.org/pub/xiph/releases/flac/MD5SUMS -md5 26703ed2858c1fc9ffc05136d13daa69 flac-1.3.3.tar.xz # From https://ftp.osuosl.org/pub/xiph/releases/flac/SHA1SUMS -sha1 6ac2e8f1dd18c9b0214c4d81bd70cdc1e943cffe flac-1.3.3.tar.xz +sha1 99c28482a8b2d81deaf740639e4cb55658427420 flac-1.3.4.tar.xz # From http://downloads.xiph.org/releases/flac/SHA256SUMS.txt -sha256 213e82bd716c9de6db2f98bcadbc4c24c7e2efe8c75939a1a84e28539c4e1748 flac-1.3.3.tar.xz +sha256 8ff0607e75a322dd7cd6ec48f4f225471404ae2730d0ea945127b1355155e737 flac-1.3.4.tar.xz # Locally computed -sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING.GPL -sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING.LGPL -sha256 fa27cb11f13f97b0c5f3ff363b1e2610c6efe87ed175779cb2a78e44eb19d34c COPYING.Xiph +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING.GPL +sha256 5df07007198989c622f5d41de8d703e7bef3d0e79d62e24332ee739a452af62a COPYING.LGPL +sha256 fa27cb11f13f97b0c5f3ff363b1e2610c6efe87ed175779cb2a78e44eb19d34c COPYING.Xiph diff --git a/package/flac/flac.mk b/package/flac/flac.mk index 9aa00b7ffd..2ff048b6e6 100644 --- a/package/flac/flac.mk +++ b/package/flac/flac.mk @@ -4,7 +4,7 @@ # ################################################################################ -FLAC_VERSION = 1.3.3 +FLAC_VERSION = 1.3.4 FLAC_SITE = http://downloads.xiph.org/releases/flac FLAC_SOURCE = flac-$(FLAC_VERSION).tar.xz FLAC_INSTALL_STAGING = YES @@ -19,7 +19,8 @@ FLAC_AUTORECONF = YES FLAC_CONF_OPTS = \ $(if $(BR2_INSTALL_LIBSTDCPP),--enable-cpplibs,--disable-cpplibs) \ --disable-xmms-plugin \ - --disable-altivec + --disable-altivec \ + --disable-stack-smash-protection ifeq ($(BR2_PACKAGE_LIBOGG),y) FLAC_CONF_OPTS += --with-ogg=$(STAGING_DIR)/usr