# functions. There's a corresponding exclude to allow usage within tests,
# docs, examples, tools, src/libvirt-*.c, and include/libvirt/libvirt-*.h
sc_prohibit_virXXXFree:
- @prohibit='\bvirDomainFree\b' \
+ @prohibit='\bvir(Domain|Network)Free\b' \
exclude='sc_prohibit_virXXXFree' \
halt='avoid using 'virXXXFree', use 'virObjectUnref' instead' \
$(_sc_search_regexp)
^(tools/virsh.pod|cfg.mk|docs/.*)$$
exclude_file_name_regexp--sc_prohibit_virXXXFree = \
- ^(docs/|tests/|examples/|tools/|cfg.mk|src/libvirt_public.syms|include/libvirt/libvirt-domain.h|src/libvirt-(domain|qemu).c$$)
+ ^(docs/|tests/|examples/|tools/|cfg.mk|src/libvirt_public.syms|include/libvirt/libvirt-(domain|network).h|src/libvirt-(domain|qemu|network).c$$)
virNetMessageSaveError(rerr);
if (nets && nnets > 0) {
for (i = 0; i < nnets; i++)
- virNetworkFree(nets[i]);
+ virObjectUnref(nets[i]);
VIR_FREE(nets);
}
return rv;
VIR_FREE(callback);
if (rv < 0)
virNetMessageSaveError(rerr);
- if (net)
- virNetworkFree(net);
+ virObjectUnref(net);
virMutexUnlock(&priv->lock);
return rv;
}
virNetworkDHCPLeaseFree(leases[i]);
VIR_FREE(leases);
}
- virNetworkFree(net);
+ virObjectUnref(net);
return rv;
}
VIR_WARN("Unexpected event ID %d", event->eventID);
cleanup:
- virNetworkFree(net);
+ virObjectUnref(net);
}
char *brname = NULL;
virNetworkPtr network;
virConnectPtr conn;
- virErrorPtr errobj;
if (!(conn = virConnectOpen("xen:///system")))
return -1;
VIR_FREE(brname);
- /* Preserve any previous failure */
- errobj = virSaveLastError();
- virNetworkFree(network);
- virSetError(errobj);
- virFreeError(errobj);
+ virObjectUnref(network);
virObjectUnref(conn);
if (fail)
return -1;
virNetworkPtr network;
char *brname = NULL;
bool fail = false;
- virErrorPtr errobj;
if (!(network = virNetworkLookupByName(conn, net->data.network.name)))
goto cleanup;
if (!(brname = virNetworkGetBridgeName(network)))
fail = true;
- /* Make sure any above failure is preserved */
- errobj = virSaveLastError();
- virNetworkFree(network);
- virSetError(errobj);
- virFreeError(errobj);
-
+ virObjectUnref(network);
if (fail)
goto cleanup;
virNetworkPtr network;
char *brname = NULL;
bool fail = false;
- virErrorPtr errobj;
if (!(network = virNetworkLookupByName(conn,
net->data.network.name)))
if (!(brname = virNetworkGetBridgeName(network)))
fail = true;
- /* Make sure any above failure is preserved */
- errobj = virSaveLastError();
- virNetworkFree(network);
- virSetError(errobj);
- virFreeError(errobj);
-
+ virObjectUnref(network);
if (fail)
goto cleanup;
if (actualType == VIR_DOMAIN_NET_TYPE_NETWORK) {
bool fail = false;
- virErrorPtr errobj;
virNetworkPtr network = virNetworkLookupByName(conn,
net->data.network.name);
if (!network)
if (!(brname = virNetworkGetBridgeName(network)))
fail = true;
- /* Make sure any above failure is preserved */
- errobj = virSaveLastError();
- virNetworkFree(network);
- virSetError(errobj);
- virFreeError(errobj);
-
+ virObjectUnref(network);
if (fail)
return ret;
if (VIR_STRDUP(brname, tmpbr) < 0)
goto cleanup;
} else if (actualType == VIR_DOMAIN_NET_TYPE_NETWORK) {
- virErrorPtr errobj;
virNetworkPtr network;
if (!(network = virNetworkLookupByName(conn, net->data.network.name))) {
}
brname = virNetworkGetBridgeName(network);
- /* Make sure any above failure is preserved */
- errobj = virSaveLastError();
- virNetworkFree(network);
- virSetError(errobj);
- virFreeError(errobj);
-
+ virObjectUnref(network);
} else {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Interface type %d has no bridge name"),
cleanup:
if (tmp_nets) {
for (i = 0; i < ret.nets.nets_len; i++)
- if (tmp_nets[i])
- virNetworkFree(tmp_nets[i]);
+ virObjectUnref(tmp_nets[i]);
VIR_FREE(tmp_nets);
}
event = virNetworkEventLifecycleNew(net->name, net->uuid, msg->event,
msg->detail);
- virNetworkFree(net);
+ virObjectUnref(net);
remoteEventQueue(priv, event, msg->callbackID);
}
goto error;
}
bridge = virNetworkGetBridgeName(network);
- virNetworkFree(network);
+ virObjectUnref(network);
if (bridge == NULL)
goto error;
return -1;
}
bridge = virNetworkGetBridgeName(network);
- virNetworkFree(network);
+ virObjectUnref(network);
if (!bridge) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("network %s is not active"),
}
bridge = virNetworkGetBridgeName(network);
- virNetworkFree(network);
+ virObjectUnref(network);
if (!bridge) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("network %s is not active"),