forked from pool/alsa-utils
Takashi Iwai
f936d7ca95
- Backport upstream fixes: various fixes in aplay, alsamixer, alsactl and alsaloop, updated translations, etc: 0001-aplay-try-to-use-16-bit-format-to-increase-capture-q.patch 0002-alsamixer-Fix-the-mixer-views-description-in-man-pag.patch 0003-Add-Slovak-translation.patch 0004-Add-Basque-translation.patch 0006-aplay-cosmetic-code-fix-in-xrun.patch 0007-aplay-fix-the-CPU-busy-loop-in-the-pause-handler.patch 0008-alsa-info-Add-lsusb-and-stream-outputs.patch 0013-aplay-add-test-code-for-snd_pcm_status-to-test-posit.patch 0014-ucm-fix-typo-in-docs.patch 0015-aplay-add-avail-delay-checks-to-test-position.patch 0016-alsactl-daemon-read_pid_file-fix-the-returned-code-o.patch 0017-alsactl-init-set_ctl_value-fix-bytes-parsing.patch 0018-alsactl-init-parse-fix-possible-double-free.patch 0019-alsaloop-fix-possible-memory-leak-in-create_loopback.patch 0020-alsaloop-get_queued_playback_samples-simplify-code.patch 0021-topology-fix-possible-double-free-in-load.patch 0022-alsamixer-remove-dead-fcn-widget_handle_key-in-widge.patch 0023-alsamixer-remove-unused-variable-y-in-display_scroll.patch 0024-alsamixer-fix-shift-in-parse_words.patch 0025-aplay-fix-the-test-position-test-for-playback-avail-.patch OBS-URL: https://build.opensuse.org/request/show/865332 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/alsa-utils?expand=0&rev=188
39 lines
1.0 KiB
Diff
39 lines
1.0 KiB
Diff
From 90bbeb1d3ee892be97560c069b22ecab4bb2bf6a Mon Sep 17 00:00:00 2001
|
|
From: Jaroslav Kysela <perex@perex.cz>
|
|
Date: Fri, 8 Jan 2021 18:21:39 +0100
|
|
Subject: [PATCH 19/25] alsaloop: fix possible memory leak in
|
|
create_loopback_handle()
|
|
|
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
---
|
|
alsaloop/alsaloop.c | 9 +++++++--
|
|
1 file changed, 7 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/alsaloop/alsaloop.c b/alsaloop/alsaloop.c
|
|
index 6a9ce58813ce..06ffadfb1911 100644
|
|
--- a/alsaloop/alsaloop.c
|
|
+++ b/alsaloop/alsaloop.c
|
|
@@ -85,12 +85,17 @@ static int create_loopback_handle(struct loopback_handle **_handle,
|
|
if (device == NULL)
|
|
device = "hw:0,0";
|
|
handle->device = strdup(device);
|
|
- if (handle->device == NULL)
|
|
+ if (handle->device == NULL) {
|
|
+ free(handle);
|
|
return -ENOMEM;
|
|
+ }
|
|
if (ctldev) {
|
|
handle->ctldev = strdup(ctldev);
|
|
- if (handle->ctldev == NULL)
|
|
+ if (handle->ctldev == NULL) {
|
|
+ free(handle->device);
|
|
+ free(handle);
|
|
return -ENOMEM;
|
|
+ }
|
|
} else {
|
|
handle->ctldev = NULL;
|
|
}
|
|
--
|
|
2.26.2
|
|
|