summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiklāvs Koļesņikovs <89q1r14hd@relay.firefox.com>2021-06-03 23:17:57 +0300
committerLars Wendler <polynomial-c@gentoo.org>2021-06-05 22:09:17 +0200
commitc458266658aadf51451562dd8fe14eeca1071cfc (patch)
treedaed3ee06ac410ec0d11e642a34098e14dd70c79 /media-sound/alsa-utils
parentmedia-libs/alsa-lib: updates HOMEPAGE to suppress QA (diff)
downloadgentoo-c458266658aadf51451562dd8fe14eeca1071cfc.tar.gz
gentoo-c458266658aadf51451562dd8fe14eeca1071cfc.tar.bz2
gentoo-c458266658aadf51451562dd8fe14eeca1071cfc.zip
media-sound/alsa-utils: adds two likely relevant upstream patches
Adds an upstream commit as a patch that according to Joakim Tjernlund accompanies the one we need to fix alsa-lib 1.2.5 missing many HDMI profiles. Additionally adds another patch that fixes a possible crash. Thanks-to: Joakim Tjernlund <joakim.tjernlund@infinera.com> Bug: https://bugs.gentoo.org/793410 Signed-off-by: Niklāvs Koļesņikovs <89q1r14hd@relay.firefox.com> Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
Diffstat (limited to 'media-sound/alsa-utils')
-rw-r--r--media-sound/alsa-utils/alsa-utils-1.2.5-r1.ebuild (renamed from media-sound/alsa-utils/alsa-utils-1.2.5.ebuild)2
-rw-r--r--media-sound/alsa-utils/files/alsa-utils-1.2.5-fix-potential-null-pointer-from-strchr.patch49
-rw-r--r--media-sound/alsa-utils/files/alsa-utils-1.2.5-fix-the-nested-iteration.patch28
3 files changed, 79 insertions, 0 deletions
diff --git a/media-sound/alsa-utils/alsa-utils-1.2.5.ebuild b/media-sound/alsa-utils/alsa-utils-1.2.5-r1.ebuild
index 507876a36c16..fb1160d0c313 100644
--- a/media-sound/alsa-utils/alsa-utils-1.2.5.ebuild
+++ b/media-sound/alsa-utils/alsa-utils-1.2.5-r1.ebuild
@@ -24,6 +24,8 @@ RDEPEND="${CDEPEND}
BDEPEND="virtual/pkgconfig"
PATCHES=(
+ "${FILESDIR}"/${PN}-1.2.5-fix-the-nested-iteration.patch # bug #793410
+ "${FILESDIR}"/${PN}-1.2.5-fix-potential-null-pointer-from-strchr.patch # bug #793410
"${FILESDIR}"/${PN}-1.1.8-missing_header.patch
)
diff --git a/media-sound/alsa-utils/files/alsa-utils-1.2.5-fix-potential-null-pointer-from-strchr.patch b/media-sound/alsa-utils/files/alsa-utils-1.2.5-fix-potential-null-pointer-from-strchr.patch
new file mode 100644
index 000000000000..f06756a8af96
--- /dev/null
+++ b/media-sound/alsa-utils/files/alsa-utils-1.2.5-fix-potential-null-pointer-from-strchr.patch
@@ -0,0 +1,49 @@
+From 3d7a6facd9e1f962eef6c4ba3aa4cdc22477a6ac Mon Sep 17 00:00:00 2001
+From: Chao Song <chao.song@linux.intel.com>
+Date: Mon, 31 May 2021 10:29:57 +0800
+Subject: [PATCH] topology: fix potential null pointer from strchr
+
+This patch adds check to the return pointer from strchr,
+because it may be null and cause segment fault, if component
+is not properly constructed.
+
+Fixes: https://github.com/alsa-project/alsa-utils/pull/91
+Signed-off-by: Chao Song <chao.song@linux.intel.com>
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+---
+ topology/pre-process-dapm.c | 5 +++++
+ topology/pre-process-object.c | 5 +++++
+ 2 files changed, 10 insertions(+)
+
+diff --git a/topology/pre-process-dapm.c b/topology/pre-process-dapm.c
+index 450ca717..dbaf2f11 100644
+--- a/topology/pre-process-dapm.c
++++ b/topology/pre-process-dapm.c
+@@ -146,6 +146,11 @@ static int tplg_pp_get_widget_name(struct tplg_pre_processor *tplg_pp,
+
+ /* get class name */
+ args = strchr(string, '.');
++ if (!args) {
++ SNDERR("Error getting class name for %s\n", string);
++ return -EINVAL;
++ }
++
+ class_name = calloc(1, strlen(string) - strlen(args) + 1);
+ if (!class_name)
+ return -ENOMEM;
+diff --git a/topology/pre-process-object.c b/topology/pre-process-object.c
+index 09aa3758..ac8caeca 100644
+--- a/topology/pre-process-object.c
++++ b/topology/pre-process-object.c
+@@ -492,6 +492,11 @@ static int tplg_pp_add_object_tuple_section(struct tplg_pre_processor *tplg_pp,
+ }
+
+ type = strchr(token_ref, '.');
++ if(!type) {
++ SNDERR("Error getting type for %s\n", token_ref);
++ return -EINVAL;
++ }
++
+ token = calloc(1, strlen(token_ref) - strlen(type) + 1);
+ if (!token)
+ return -ENOMEM;
diff --git a/media-sound/alsa-utils/files/alsa-utils-1.2.5-fix-the-nested-iteration.patch b/media-sound/alsa-utils/files/alsa-utils-1.2.5-fix-the-nested-iteration.patch
new file mode 100644
index 000000000000..e175287a5598
--- /dev/null
+++ b/media-sound/alsa-utils/files/alsa-utils-1.2.5-fix-the-nested-iteration.patch
@@ -0,0 +1,28 @@
+From 78212445de4c8e07873cbc7dff2abcacd031f151 Mon Sep 17 00:00:00 2001
+From: Jaroslav Kysela <perex@perex.cz>
+Date: Tue, 1 Jun 2021 17:47:42 +0200
+Subject: [PATCH] alsactl: fix the nested iteration
+
+There may be nested iterations for hw: card names.
+Handle this card name in snd_card_iterator_sinit().
+
+BugLink: https://github.com/alsa-project/alsa-lib/issues/142
+Fixes: eefc2c6 ("alsactl: use card iterator functions for all card loops")
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+---
+ alsactl/utils.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/alsactl/utils.c b/alsactl/utils.c
+index c79fd951..881b5053 100644
+--- a/alsactl/utils.c
++++ b/alsactl/utils.c
+@@ -247,6 +247,8 @@ int snd_card_iterator_sinit(struct snd_card_iterator *iter, const char *cardname
+ int cardno = -1;
+
+ if (cardname) {
++ if (strncmp(cardname, "hw:", 3) == 0)
++ cardname += 3;
+ cardno = snd_card_get_index(cardname);
+ if (cardno < 0) {
+ error("Cannot find soundcard '%s'...", cardname);