From 8e298848be3a1b2a83b808441adf317da2cecd47 Mon Sep 17 00:00:00 2001 From: Colin Guthrie Date: Mon, 5 Sep 2011 20:29:36 +0100 Subject: [PATCH] device-restore: Fix use-after-free error. --- src/modules/module-device-restore.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/modules/module-device-restore.c b/src/modules/module-device-restore.c index 54afeb2e6..de98035fb 100644 --- a/src/modules/module-device-restore.c +++ b/src/modules/module-device-restore.c @@ -470,16 +470,19 @@ fail: pa_tagstruct_free(t); pa_datum_free(&data); - pa_xfree(name); #ifdef ENABLE_LEGACY_DATABASE_ENTRY_FORMAT /* Try again with a null port. This is used when dealing with migration from older versions */ - if (port) + if (port) { + pa_xfree(name); return perportentry_read(u, basekeyname, NULL); + } #endif pa_log_debug("Database contains invalid data for key: %s", name); + pa_xfree(name); + return NULL; }