From: Ján Tomko Date: Fri, 2 Oct 2020 18:06:39 +0000 (+0200) Subject: vz: separate if conditions in vzEatCookie X-Git-Tag: v6.9.0-rc1~375 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8640574a2b9c9553fbd482c10782bc887868c355;p=thirdparty%2Flibvirt.git vz: separate if conditions in vzEatCookie Create a separate scope where 'tmp' variable can be used. Signed-off-by: Ján Tomko Reviewed-by: Erik Skultety --- diff --git a/src/vz/vz_driver.c b/src/vz/vz_driver.c index 40b1828eb2..5b40f9a835 100644 --- a/src/vz/vz_driver.c +++ b/src/vz/vz_driver.c @@ -2806,26 +2806,28 @@ vzEatCookie(const char *cookiein, int cookieinlen, unsigned int flags) _("(_migration_cookie)"), &ctx))) goto error; - if ((flags & VZ_MIGRATION_COOKIE_SESSION_UUID) - && (!(tmp = virXPathString("string(./session-uuid[1])", ctx)) + if (flags & VZ_MIGRATION_COOKIE_SESSION_UUID) { + 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; + 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) - && (!(tmp = virXPathString("string(./uuid[1])", ctx)) + if (flags & VZ_MIGRATION_COOKIE_DOMAIN_UUID) { + 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; + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("missing or malformed uuid element in migration data")); + VIR_FREE(tmp); + goto error; + } } VIR_FREE(tmp);