commit:     c34bd91f35dce053ca34d24712c227c0db833f5e
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Fri Jan  4 17:47:13 2019 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Fri Jan  4 17:47:13 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c34bd91f

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 <AT> gentoo.org>

 ...s-1.1.7.ebuild => alsa-plugins-1.1.7-r1.ebuild} |  6 +++-
 .../files/alsa-plugins-1.1.7-double_free_fix.patch | 34 ++++++++++++++++++++++
 2 files changed, 39 insertions(+), 1 deletion(-)

diff --git a/media-plugins/alsa-plugins/alsa-plugins-1.1.7.ebuild 
b/media-plugins/alsa-plugins/alsa-plugins-1.1.7-r1.ebuild
similarity index 96%
rename from media-plugins/alsa-plugins/alsa-plugins-1.1.7.ebuild
rename to media-plugins/alsa-plugins/alsa-plugins-1.1.7-r1.ebuild
index 2eff3aacc81..f97cc166249 100644
--- a/media-plugins/alsa-plugins/alsa-plugins-1.1.7.ebuild
+++ b/media-plugins/alsa-plugins/alsa-plugins-1.1.7-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Authors
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -30,6 +30,10 @@ RDEPEND="
 DEPEND="${RDEPEND}"
 BDEPEND="virtual/pkgconfig"
 
+PATCHES=(
+       "${FILESDIR}"/${P}-double_free_fix.patch
+)
+
 src_prepare() {
        default
 

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 <[email protected]>
+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 <[email protected]>
+---
+ 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
+

Reply via email to