summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Meerwald <p.meerwald@bct-electronic.com>2015-09-14 17:23:29 +0200
committerPeter Meerwald <pmeerw@pmeerw.net>2015-09-16 08:10:35 +0200
commit3193f6a2c459948a997a0de57778a8a2bf599436 (patch)
tree9f5ad4733acee5fc58fdb8ca9e39e3964922c76b
parentd36baaf81ef3512ab01a7d9cb6042e277663229f (diff)
downloadpulseaudio-3193f6a2c459948a997a0de57778a8a2bf599436.tar.gz
modules: Fix entry leak in module-card-restore
CID 1323585 entry_read() allocates an entry which must be freed
-rw-r--r--src/modules/module-card-restore.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/modules/module-card-restore.c b/src/modules/module-card-restore.c
index 5c55cecd0..3725d30a9 100644
--- a/src/modules/module-card-restore.c
+++ b/src/modules/module-card-restore.c
@@ -438,12 +438,15 @@ static pa_hook_result_t profile_available_changed_callback(void *hook_data, void
if (!entry)
return PA_HOOK_OK;
- if (!pa_streq(profile->name, entry->profile))
+ if (!pa_streq(profile->name, entry->profile)) {
+ entry_free(entry);
return PA_HOOK_OK;
+ }
pa_log_info("Card %s profile %s became available, activating.", card->name, profile->name);
pa_card_set_profile(profile->card, profile, true);
+ entry_free(entry);
return PA_HOOK_OK;
}