From: Martin Kletzander Date: Mon, 21 Aug 2017 07:02:09 +0000 (+0200) Subject: conf: Clean up and report error in virDomainGenerateMachineName X-Git-Tag: v3.7.0-rc1~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=265d0bed0b1b1f641d016cdfb035362970ac4070;p=thirdparty%2Flibvirt.git conf: Clean up and report error in virDomainGenerateMachineName Signed-off-by: Martin Kletzander --- diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 8371fda538..d97aab4834 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -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); }