Automatically free 'path' inside the loop which fills it and return the
values directly.
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
char *
virTPMCreateCancelPath(const char *devpath)
{
- char *path = NULL;
const char *dev;
const char *prefix[] = {"misc/", "tpm/"};
size_t i;
dev++;
for (i = 0; i < G_N_ELEMENTS(prefix); i++) {
- path = g_strdup_printf("/sys/class/%s%s/device/cancel", prefix[i],
- dev);
+ g_autofree char *path = g_strdup_printf("/sys/class/%s%s/device/cancel",
+ prefix[i], dev);
if (virFileExists(path))
- break;
-
- VIR_FREE(path);
+ return g_steal_pointer(&path);
}
- if (!path)
- path = g_strdup("/dev/null");
- return path;
+ return g_strdup("/dev/null");
}
/*