diff options
Diffstat (limited to 'source/l')
3 files changed, 37 insertions, 67 deletions
diff --git a/source/l/alsa-plugins/alsa-plugins.SlackBuild b/source/l/alsa-plugins/alsa-plugins.SlackBuild index a64db331..dc4ed984 100755 --- a/source/l/alsa-plugins/alsa-plugins.SlackBuild +++ b/source/l/alsa-plugins/alsa-plugins.SlackBuild @@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=alsa-plugins VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-3} +BUILD=${BUILD:-4} NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} @@ -77,8 +77,8 @@ rm -rf $PKGNAM-$VERSION tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1 cd $PKGNAM-$VERSION || exit 1 -# Revert two patches that are breaking USB audio: -zcat $CWD/alsa-plugins.revert.fc3f5d51062ff438780e568995792dc809c908cc.6b996865126dd559ef186002e45dc6e1594291e7.patch.gz | patch -p1 -R --verbose || exit 1 +# Upstream fix for USB devices causing a double free: +zcat $CWD/alsa-plugins.a4e7e1282c57a2f4e83afe9a4008042d8b4c5bb9.patch.gz | patch -p1 --verbose || exit 1 chown -R root:root . find -L . \ diff --git a/source/l/alsa-plugins/alsa-plugins.a4e7e1282c57a2f4e83afe9a4008042d8b4c5bb9.patch b/source/l/alsa-plugins/alsa-plugins.a4e7e1282c57a2f4e83afe9a4008042d8b4c5bb9.patch new file mode 100644 index 00000000..9b3a8159 --- /dev/null +++ b/source/l/alsa-plugins/alsa-plugins.a4e7e1282c57a2f4e83afe9a4008042d8b4c5bb9.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 + diff --git a/source/l/alsa-plugins/alsa-plugins.revert.fc3f5d51062ff438780e568995792dc809c908cc.6b996865126dd559ef186002e45dc6e1594291e7.patch b/source/l/alsa-plugins/alsa-plugins.revert.fc3f5d51062ff438780e568995792dc809c908cc.6b996865126dd559ef186002e45dc6e1594291e7.patch deleted file mode 100644 index a138ae3a..00000000 --- a/source/l/alsa-plugins/alsa-plugins.revert.fc3f5d51062ff438780e568995792dc809c908cc.6b996865126dd559ef186002e45dc6e1594291e7.patch +++ /dev/null @@ -1,64 +0,0 @@ -From fc3f5d51062ff438780e568995792dc809c908cc Mon Sep 17 00:00:00 2001 -From: Andre Guedes <andre.guedes@intel.com> -Date: Fri, 28 Sep 2018 14:27:24 -0700 -Subject: [PATCH] a52: Fix leaks when a52_set_hw_constraint() fails - -If a52_set_hw_constraint() returns error, we leak 'rec' and -'rec->slave'. This patch fixes the issue by jumping to 'error' label -where the proper clean up is already done. - -Signed-off-by: Andre Guedes <andre.guedes@intel.com> -Reviewed-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> -Signed-off-by: Takashi Iwai <tiwai@suse.de> ---- - a52/pcm_a52.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/a52/pcm_a52.c b/a52/pcm_a52.c -index 29ce45f..e431fd0 100644 ---- a/a52/pcm_a52.c -+++ b/a52/pcm_a52.c -@@ -978,7 +978,7 @@ SND_PCM_PLUGIN_DEFINE_FUNC(a52) - - if ((err = a52_set_hw_constraint(rec)) < 0) { - snd_pcm_ioplug_delete(&rec->io); -- return err; -+ goto error; - } - - *pcmp = rec->io.pcm; --- -1.7.11.7 - -From 6b996865126dd559ef186002e45dc6e1594291e7 Mon Sep 17 00:00:00 2001 -From: Andre Guedes <andre.guedes@intel.com> -Date: Fri, 28 Sep 2018 14:27:27 -0700 -Subject: [PATCH] usb_stream: Fix leaks when us_set_hw_constraint() fails - -If us_set_hw_constraint() returns error, we leak the 'us' object and all -the resources referenced by it. This patch fixes the issue by calling -us_free() before returning. - -Signed-off-by: Andre Guedes <andre.guedes@intel.com> -Reviewed-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> -Signed-off-by: Takashi Iwai <tiwai@suse.de> ---- - usb_stream/pcm_usb_stream.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/usb_stream/pcm_usb_stream.c b/usb_stream/pcm_usb_stream.c -index 94c83a7..eb4ca98 100644 ---- a/usb_stream/pcm_usb_stream.c -+++ b/usb_stream/pcm_usb_stream.c -@@ -455,6 +455,7 @@ static int snd_pcm_us_open(snd_pcm_t **pcmp, const char *name, - err = us_set_hw_constraint(us); - if (err < 0) { - snd_pcm_ioplug_delete(&us->io); -+ us_free(us); - return err; - } - --- -1.7.11.7 - - |