Mark both as g_autofree within their separate scopes. Signed-off-by: Ján Tomko <jtomko@xxxxxxxxxx> --- src/vz/vz_driver.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/vz/vz_driver.c b/src/vz/vz_driver.c index 5b40f9a835..dad7fe37b7 100644 --- a/src/vz/vz_driver.c +++ b/src/vz/vz_driver.c @@ -2790,7 +2790,6 @@ vzEatCookie(const char *cookiein, int cookieinlen, unsigned int flags) { xmlDocPtr doc = NULL; xmlXPathContextPtr ctx = NULL; - char *tmp = NULL; vzMigrationCookiePtr mig = NULL; if (VIR_ALLOC(mig) < 0) @@ -2807,29 +2806,29 @@ vzEatCookie(const char *cookiein, int cookieinlen, unsigned int flags) goto error; if (flags & VZ_MIGRATION_COOKIE_SESSION_UUID) { + g_autofree char *tmp = NULL; + if ((!(tmp = virXPathString("string(./session-uuid[1])", ctx)) || (VIR_ALLOC_N(mig->session_uuid, VIR_UUID_BUFLEN) < 0) || (virUUIDParse(tmp, mig->session_uuid) < 0))) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("missing or malformed session-uuid element " "in migration data")); - VIR_FREE(tmp); goto error; } } - VIR_FREE(tmp); if (flags & VZ_MIGRATION_COOKIE_DOMAIN_UUID) { + g_autofree char *tmp = NULL; + if ((!(tmp = virXPathString("string(./uuid[1])", ctx)) || (VIR_ALLOC_N(mig->uuid, VIR_UUID_BUFLEN) < 0) || (virUUIDParse(tmp, mig->uuid) < 0))) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("missing or malformed uuid element in migration data")); - VIR_FREE(tmp); goto error; } } - VIR_FREE(tmp); if ((flags & VZ_MIGRATION_COOKIE_DOMAIN_NAME) && !(mig->name = virXPathString("string(./name[1])", ctx))) { -- 2.26.2