spapr: fix memory leak in spapr_memory_pre_plug()
authorGreg Kurz <groug@kaod.org>
Tue, 6 Jun 2017 15:22:58 +0000 (17:22 +0200)
committerDavid Gibson <david@gibson.dropbear.id.au>
Thu, 8 Jun 2017 01:05:31 +0000 (11:05 +1000)
The string returned by object_property_get_str() is dynamically allocated.

(Spotted by Coverity, CID 1375942)

Signed-off-by: Greg Kurz <groug@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
hw/ppc/spapr.c

index 91b405793393fb7c5940139f43f5506eaf0eae4d..9b7ae28939a8dc5846a281b26b95ca3a2fb51a90 100644 (file)
@@ -2615,8 +2615,11 @@ static void spapr_memory_pre_plug(HotplugHandler *hotplug_dev, DeviceState *dev,
     if (mem_dev && !kvmppc_is_mem_backend_page_size_ok(mem_dev)) {
         error_setg(errp, "Memory backend has bad page size. "
                    "Use 'memory-backend-file' with correct mem-path.");
-        return;
+        goto out;
     }
+
+out:
+    g_free(mem_dev);
 }
 
 struct sPAPRDIMMState {