summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-plugins/alsa-plugins/files/alsa-plugins-1.1.7-double_free_fix.patch')
-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 00000000000..9b3a81599b3
--- /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
+