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
   4fbb6d4f2e
 - Disable stack protection (enabled by default since
   f706f28322)
 - 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 <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
(cherry picked from commit 4c7e250c69)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Fabrice Fontaine 2022-02-21 23:00:25 +01:00 committed by Peter Korsgaard
parent fe570807b0
commit 37683e06b9
4 changed files with 89 additions and 45 deletions

View File

@ -0,0 +1,81 @@
From 4c62082f64132bfcbcb6569aa914c5ec283303f9 Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
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 <fontaine.fabrice@gmail.com>
[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 <sys/auxv.h>
#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

View File

@ -1,36 +0,0 @@
From 14a0713389fbfef59225d027ea466ebb478a8c6b Mon Sep 17 00:00:00 2001
From: Peter Seiderer <ps.report@gmx.net>
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 <ps.report@gmx.net>
---
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

View File

@ -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

View File

@ -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