mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-21 19:02:25 +00:00
cmdDomHostname: Fix uninitialized use of 'hostname' by refactoring cleanup
Use 'g_autoptr' which mandates initialization for 'hostname' and also for 'domain' to allow full refactor of the cleanup path. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
140c756f5c
commit
1a53b2baab
@ -11885,9 +11885,8 @@ VIR_ENUM_IMPL(virshDomainHostnameSource,
|
||||
static bool
|
||||
cmdDomHostname(vshControl *ctl, const vshCmd *cmd)
|
||||
{
|
||||
char *hostname;
|
||||
virDomainPtr dom;
|
||||
bool ret = false;
|
||||
g_autofree char *hostname = NULL;
|
||||
g_autoptr(virshDomain) dom = NULL;
|
||||
const char *sourcestr = NULL;
|
||||
int flags = 0; /* Use default value. Drivers can have its own default. */
|
||||
|
||||
@ -11895,14 +11894,14 @@ cmdDomHostname(vshControl *ctl, const vshCmd *cmd)
|
||||
return false;
|
||||
|
||||
if (vshCommandOptStringReq(ctl, cmd, "source", &sourcestr) < 0)
|
||||
goto error;
|
||||
return false;
|
||||
|
||||
if (sourcestr) {
|
||||
int source = virshDomainHostnameSourceTypeFromString(sourcestr);
|
||||
|
||||
if (source < 0) {
|
||||
vshError(ctl, _("Unknown data source '%s'"), sourcestr);
|
||||
goto error;
|
||||
return false;
|
||||
}
|
||||
|
||||
switch ((virshDomainHostnameSource) source) {
|
||||
@ -11920,16 +11919,11 @@ cmdDomHostname(vshControl *ctl, const vshCmd *cmd)
|
||||
hostname = virDomainGetHostname(dom, flags);
|
||||
if (hostname == NULL) {
|
||||
vshError(ctl, "%s", _("failed to get hostname"));
|
||||
goto error;
|
||||
return false;
|
||||
}
|
||||
|
||||
vshPrint(ctl, "%s\n", hostname);
|
||||
ret = true;
|
||||
|
||||
error:
|
||||
VIR_FREE(hostname);
|
||||
virshDomainFree(dom);
|
||||
return ret;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user