diff --git a/src/conf/virnetworkobj.c b/src/conf/virnetworkobj.c index 37580b4e7630374c3432986fa2d58e644f8b81d1..476f66affc841662263b4b22c471dce4d2b63330 100644 --- a/src/conf/virnetworkobj.c +++ b/src/conf/virnetworkobj.c @@ -1678,9 +1678,8 @@ virNetworkObjDeletePort(virNetworkObjPtr net, const unsigned char *uuid, const char *stateDir) { - int ret = -1; char uuidstr[VIR_UUID_STRING_BUFLEN]; - char *dir = NULL; + VIR_AUTOFREE(char *) dir = NULL; virNetworkPortDefPtr portdef; virUUIDFormat(uuid, uuidstr); @@ -1689,23 +1688,19 @@ virNetworkObjDeletePort(virNetworkObjPtr net, virReportError(VIR_ERR_NO_NETWORK_PORT, _("Network port with UUID %s does not exist"), uuidstr); - goto cleanup; + return -1; } if (!(dir = virNetworkObjGetPortStatusDir(net, stateDir))) - goto cleanup; + return -1; if (virNetworkPortDefDeleteStatus(portdef, dir) < 0) - goto cleanup; + return -1; if (virHashRemoveEntry(net->ports, uuidstr) < 0) - goto cleanup; - - ret = 0; + return -1; - cleanup: - VIR_FREE(dir); - return ret; + return 0; }