- backport upstream fixes: fix noresample hw_params rule and a few fixes for missing free() OBS-URL: https://build.opensuse.org/request/show/85033 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/alsa?expand=0&rev=95
38 lines
1.1 KiB
Diff
38 lines
1.1 KiB
Diff
From fef6e6fd580073e0c0696105f808145561990b75 Mon Sep 17 00:00:00 2001
|
|
From: Julia Lawall <julia@diku.dk>
|
|
Date: Thu, 22 Sep 2011 13:59:31 +0200
|
|
Subject: [PATCH 5/5] src/pcm/pcm_mmap.c: add missing free
|
|
|
|
The mmap_channels and running_areas fields are allocated using calloc, but
|
|
are not freed on an error path.
|
|
|
|
Signed-off-by: Julia Lawall <julia@diku.dk>
|
|
Signed-off-by: Suman Saha <sumsaha@gmail.com>
|
|
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
---
|
|
src/pcm/pcm_mmap.c | 7 ++++++-
|
|
1 files changed, 6 insertions(+), 1 deletions(-)
|
|
|
|
diff --git a/src/pcm/pcm_mmap.c b/src/pcm/pcm_mmap.c
|
|
index 4621fe6..6b44050 100644
|
|
--- a/src/pcm/pcm_mmap.c
|
|
+++ b/src/pcm/pcm_mmap.c
|
|
@@ -320,8 +320,13 @@ int snd_pcm_mmap(snd_pcm_t *pcm)
|
|
snd_pcm_channel_info_t *i = &pcm->mmap_channels[c];
|
|
i->channel = c;
|
|
err = snd_pcm_channel_info(pcm, i);
|
|
- if (err < 0)
|
|
+ if (err < 0) {
|
|
+ free(pcm->mmap_channels);
|
|
+ free(pcm->running_areas);
|
|
+ pcm->mmap_channels = NULL;
|
|
+ pcm->running_areas = NULL;
|
|
return err;
|
|
+ }
|
|
}
|
|
for (c = 0; c < pcm->channels; ++c) {
|
|
snd_pcm_channel_info_t *i = &pcm->mmap_channels[c];
|
|
--
|
|
1.7.6.1
|
|
|