util: netdevtap: use VIR_AUTOFREE instead of VIR_FREE for scalar types

By making use of GNU C's cleanup attribute handled by the
VIR_AUTOFREE macro for declaring scalar variables, majority
of the VIR_FREE calls can be dropped, which in turn leads to
getting rid of most of our cleanup sections.

Signed-off-by: Sukrit Bhatnagar <skrtbhtngr@gmail.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
This commit is contained in:
Sukrit Bhatnagar 2018-07-28 23:31:34 +05:30 committed by Erik Skultety
parent 2d9be4d8b4
commit f84b0f1499

View File

@ -400,16 +400,15 @@ int virNetDevTapCreate(char **ifname,
if (strstr(*ifname, "%d") != NULL) {
size_t i;
for (i = 0; i <= IF_MAXUNIT; i++) {
char *newname;
VIR_AUTOFREE(char *) newname = NULL;
if (virAsprintf(&newname, *ifname, i) < 0)
goto cleanup;
if (virNetDevExists(newname) == 0) {
newifname = newname;
VIR_STEAL_PTR(newifname, newname);
break;
}
VIR_FREE(newname);
}
if (newifname) {
VIR_FREE(*ifname);
@ -423,7 +422,7 @@ int virNetDevTapCreate(char **ifname,
}
if (tapfd) {
char *dev_path = NULL;
VIR_AUTOFREE(char *) dev_path = NULL;
if (virAsprintf(&dev_path, "/dev/%s", ifr.ifr_name) < 0)
goto cleanup;
@ -431,11 +430,8 @@ int virNetDevTapCreate(char **ifname,
virReportSystemError(errno,
_("Unable to open %s"),
dev_path);
VIR_FREE(dev_path);
goto cleanup;
}
VIR_FREE(dev_path);
}
if (virNetDevSetName(ifr.ifr_name, *ifname) == -1)