summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wendler <polynomial-c@gentoo.org>2019-01-04 18:47:13 +0100
committerLars Wendler <polynomial-c@gentoo.org>2019-01-04 18:47:13 +0100
commitc34bd91f35dce053ca34d24712c227c0db833f5e (patch)
tree03adf533f98a6c3094a55322b87165b90f983cf8 /media-plugins/alsa-plugins/files
parentgames-emulation/snes9x: Fixed build with USE="-png". (diff)
downloadgentoo-c34bd91f35dce053ca34d24712c227c0db833f5e.tar.gz
gentoo-c34bd91f35dce053ca34d24712c227c0db833f5e.tar.bz2
gentoo-c34bd91f35dce053ca34d24712c227c0db833f5e.zip
media-plugins/alsa-plugins: Fixed a double free issue.
Closes: https://bugs.gentoo.org/673792 Package-Manager: Portage-2.3.54, Repoman-2.3.12 Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
Diffstat (limited to 'media-plugins/alsa-plugins/files')
-rw-r--r--media-plugins/alsa-plugins/files/alsa-plugins-1.1.7-double_free_fix.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/media-plugins/alsa-plugins/files/alsa-plugins-1.1.7-double_free_fix.patch b/media-plugins/alsa-plugins/files/alsa-plugins-1.1.7-double_free_fix.patch
new file mode 100644
index 000000000000..9b3a81599b39
--- /dev/null
+++ b/media-plugins/alsa-plugins/files/alsa-plugins-1.1.7-double_free_fix.patch
@@ -0,0 +1,34 @@
+From a4e7e1282c57a2f4e83afe9a4008042d8b4c5bb9 Mon Sep 17 00:00:00 2001
+From: Jaroslav Kysela <perex@perex.cz>
+Date: Tue, 23 Oct 2018 09:32:46 +0200
+Subject: [PATCH] a52_close: set slave to NULL to avoid double pcm free in
+ open fcn
+
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+---
+ a52/pcm_a52.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/a52/pcm_a52.c b/a52/pcm_a52.c
+index e431fd0..b005bc2 100644
+--- a/a52/pcm_a52.c
++++ b/a52/pcm_a52.c
+@@ -654,10 +654,13 @@ static int a52_poll_revents(snd_pcm_ioplug_t *io, struct pollfd *pfd,
+ static int a52_close(snd_pcm_ioplug_t *io)
+ {
+ struct a52_ctx *rec = io->private_data;
++ snd_pcm_t *slave = rec->slave;
+
+ a52_free(rec);
+- if (rec->slave)
+- return snd_pcm_close(rec->slave);
++ if (slave) {
++ rec->slave = NULL;
++ return snd_pcm_close(slave);
++ }
+ return 0;
+ }
+
+--
+1.7.11.7
+