]> xenbits.xensource.com Git - libvirt.git/commitdiff
conf: Clean up and report error in virDomainGenerateMachineName
authorMartin Kletzander <mkletzan@redhat.com>
Mon, 21 Aug 2017 07:02:09 +0000 (09:02 +0200)
committerMartin Kletzander <mkletzan@redhat.com>
Tue, 29 Aug 2017 09:17:16 +0000 (11:17 +0200)
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
src/conf/domain_conf.c

index 8371fda5380c4906d54bc530bcf8c7c10f4f0192..d97aab4834b18233918e849e817b7a93926a4d3f 100644 (file)
@@ -27481,25 +27481,23 @@ virDomainGenerateMachineName(const char *drivername,
                              const char *name,
                              bool privileged)
 {
-    char *machinename = NULL;
     char *username = NULL;
     virBuffer buf = VIR_BUFFER_INITIALIZER;
 
     if (privileged) {
         virBufferAsprintf(&buf, "%s-", drivername);
     } else {
-        if (!(username = virGetUserName(geteuid())))
-            goto cleanup;
-
+        if (!(username = virGetUserName(geteuid()))) {
+            virBufferFreeAndReset(&buf);
+            return NULL;
+        }
         virBufferAsprintf(&buf, "%s-%s-", username, drivername);
+        VIR_FREE(username);
     }
 
     virBufferAsprintf(&buf, "%d-", id);
     virDomainMachineNameAppendValid(&buf, name);
 
-    machinename = virBufferContentAndReset(&buf);
- cleanup:
-    VIR_FREE(username);
-
-    return machinename;
+    virBufferCheckError(&buf);
+    return virBufferContentAndReset(&buf);
 }