From: Peter Meerwald <[email protected]>

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 eb6c94a..19069c2 100644
--- a/src/modules/module-card-restore.c
+++ b/src/modules/module-card-restore.c
@@ -438,13 +438,16 @@ 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);
     if (pa_card_set_profile(profile->card, profile, true) != 0)
         pa_log_warn("Could not set profile '%s'", profile->name);
 
+    entry_free(entry);
     return PA_HOOK_OK;
 }
 
-- 
1.9.1

_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to