diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 6254dc85e4..27f6f845a2 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -1,7 +1,7 @@ /* * domain_conf.c: domain XML processing * - * Copyright (C) 2006-2009 Red Hat, Inc. + * Copyright (C) 2006-2010 Red Hat, Inc. * Copyright (C) 2006-2008 Daniel P. Berrange * * This library is free software; you can redistribute it and/or @@ -4831,7 +4831,6 @@ virDomainChrDefFormat(virConnectPtr conn, const char *targetName = virDomainChrTargetTypeToString(def->targetType); const char *elementName; - const char *addr = NULL; int ret = 0; switch (def->targetType) { @@ -4847,8 +4846,7 @@ virDomainChrDefFormat(virConnectPtr conn, if (!type) { virDomainReportError(conn, VIR_ERR_INTERNAL_ERROR, _("unexpected char type %d"), def->type); - ret = -1; - goto cleanup; + return -1; } /* Compat with legacy <console tty='/dev/pts/5'/> syntax */ @@ -4931,23 +4929,25 @@ virDomainChrDefFormat(virConnectPtr conn, switch (def->targetType) { case VIR_DOMAIN_CHR_TARGET_TYPE_GUESTFWD: - addr = virSocketFormatAddr(def->target.addr); - if (addr == NULL) { - virDomainReportError(conn, VIR_ERR_INTERNAL_ERROR, "%s", - _("Unable to format guestfwd address")); - ret = -1; - goto cleanup; + { + int port = virSocketGetPort(def->target.addr); + if (port < 0) { + virDomainReportError(conn, VIR_ERR_INTERNAL_ERROR, "%s", + _("Unable to format guestfwd port")); + return -1; + } + const char *addr = virSocketFormatAddr(def->target.addr); + if (addr == NULL) { + virDomainReportError(conn, VIR_ERR_INTERNAL_ERROR, "%s", + _("Unable to format guestfwd address")); + return -1; + } + virBufferVSprintf(buf, + " <target type='guestfwd' address='%s' port='%d'/>\n", + addr, port); + VIR_FREE(addr); + break; } - int port = virSocketGetPort(def->target.addr); - if (port < 0) { - virDomainReportError(conn, VIR_ERR_INTERNAL_ERROR, "%s", - _("Unable to format guestfwd port")); - ret = -1; - goto cleanup; - } - virBufferVSprintf(buf, " <target type='guestfwd' address='%s' port='%d'/>\n", - addr, port); - break; case VIR_DOMAIN_CHR_TARGET_TYPE_PARALLEL: case VIR_DOMAIN_CHR_TARGET_TYPE_SERIAL: @@ -4969,9 +4969,6 @@ virDomainChrDefFormat(virConnectPtr conn, virBufferVSprintf(buf, " </%s>\n", elementName); -cleanup: - VIR_FREE(addr); - return ret; }