[libvirt] [PATCH 0/3] virnetworkobj: Couple of small fixes and improvements

Almost trivial, not pushed though. Michal Prívozník (3): virnetworkobj: Free retval of virNetworkObjGetPortStatusDir() virnetworkobj: Drop needless cleanup label in virNetworkObjAddPort virnetworkobj: Drop needless cleanup label in virNetworkObjDeletePort src/conf/virnetworkobj.c | 37 ++++++++++++++----------------------- 1 file changed, 14 insertions(+), 23 deletions(-) -- 2.21.0

The virNetworkObjGetPortStatusDir() function allocates a memory to construct a path. None of the callers free it leading to a memleak. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/conf/virnetworkobj.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/conf/virnetworkobj.c b/src/conf/virnetworkobj.c index 12cefebaa8..45726e4016 100644 --- a/src/conf/virnetworkobj.c +++ b/src/conf/virnetworkobj.c @@ -1627,7 +1627,7 @@ virNetworkObjAddPort(virNetworkObjPtr net, { int ret = -1; char uuidstr[VIR_UUID_STRING_BUFLEN]; - char *dir = NULL; + VIR_AUTOFREE(char *) dir = NULL; virUUIDFormat(portdef->uuid, uuidstr); @@ -1717,7 +1717,7 @@ int virNetworkObjDeleteAllPorts(virNetworkObjPtr net, const char *stateDir) { - char *dir; + VIR_AUTOFREE(char *) dir = NULL; DIR *dh = NULL; struct dirent *de; int rc; @@ -1843,7 +1843,7 @@ static int virNetworkObjLoadAllPorts(virNetworkObjPtr net, const char *stateDir) { - char *dir; + VIR_AUTOFREE(char *) dir = NULL; DIR *dh = NULL; struct dirent *de; int ret = -1; -- 2.21.0

The cleanup label in virNetworkObjAddPort() function serves no purpose. Drop it and thus simplify the function a bit. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/conf/virnetworkobj.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/conf/virnetworkobj.c b/src/conf/virnetworkobj.c index 45726e4016..37580b4e76 100644 --- a/src/conf/virnetworkobj.c +++ b/src/conf/virnetworkobj.c @@ -1625,7 +1625,6 @@ virNetworkObjAddPort(virNetworkObjPtr net, virNetworkPortDefPtr portdef, const char *stateDir) { - int ret = -1; char uuidstr[VIR_UUID_STRING_BUFLEN]; VIR_AUTOFREE(char *) dir = NULL; @@ -1635,24 +1634,21 @@ virNetworkObjAddPort(virNetworkObjPtr net, virReportError(VIR_ERR_NETWORK_PORT_EXIST, _("Network port with UUID %s already exists"), uuidstr); - goto cleanup; + return -1; } if (!(dir = virNetworkObjGetPortStatusDir(net, stateDir))) - goto cleanup; + return -1; if (virHashAddEntry(net->ports, uuidstr, portdef) < 0) - goto cleanup; + return -1; if (virNetworkPortDefSaveStatus(portdef, dir) < 0) { virHashRemoveEntry(net->ports, uuidstr); - goto cleanup; + return -1; } - ret = 0; - - cleanup: - return ret; + return 0; } -- 2.21.0

The cleanup label in virNetworkObjDeletePort() function serves no purpose. Drop it and thus simplify the function a bit. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/conf/virnetworkobj.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/src/conf/virnetworkobj.c b/src/conf/virnetworkobj.c index 37580b4e76..476f66affc 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; + return -1; - ret = 0; - - cleanup: - VIR_FREE(dir); - return ret; + return 0; } -- 2.21.0

On Tue, Jul 09, 2019 at 05:01:55PM +0200, Michal Privoznik wrote:
Almost trivial, not pushed though.
Michal Prívozník (3): virnetworkobj: Free retval of virNetworkObjGetPortStatusDir() virnetworkobj: Drop needless cleanup label in virNetworkObjAddPort virnetworkobj: Drop needless cleanup label in virNetworkObjDeletePort
src/conf/virnetworkobj.c | 37 ++++++++++++++----------------------- 1 file changed, 14 insertions(+), 23 deletions(-)
Reviewed-by: Erik Skultety <eskultet@redhat.com>
participants (2)
-
Erik Skultety
-
Michal Privoznik