From 3193f6a2c459948a997a0de57778a8a2bf599436 Mon Sep 17 00:00:00 2001
From: Peter Meerwald
Date: Mon, 14 Sep 2015 17:23:29 +0200
Subject: [PATCH] modules: Fix entry leak in module-card-restore
CID 1323585
entry_read() allocates an entry which must be freed
---
src/modules/module-card-restore.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
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;
}