From d6128618e48911240ecf07da99208301c7471fa6 Mon Sep 17 00:00:00 2001 From: John Ferlan Date: Fri, 12 May 2017 06:46:20 -0400 Subject: [PATCH] conf: Fix resource leak in virCapabilitiesInitCaches The @type from virFileReadValueString needs to be VIR_FREE each time through the loop since it's not saved and since cleanup can be reached prior to decoding it for @kernel_type amd bank->type, the cleanup code needs to also have a VIR_FREE Found by Coverity --- src/conf/capabilities.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/conf/capabilities.c b/src/conf/capabilities.c index c36ca40889..d699b08173 100644 --- a/src/conf/capabilities.c +++ b/src/conf/capabilities.c @@ -1611,10 +1611,10 @@ virCapabilitiesInitCaches(virCapsPtr caps) if (kernel_type < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Unknown cache type '%s'"), type); - VIR_FREE(type); goto cleanup; } bank->type = kernel_type; + VIR_FREE(type); for (i = 0; i < caps->host.ncaches; i++) { if (virCapsHostCacheBankEquals(bank, caps->host.caches[i])) @@ -1637,6 +1637,7 @@ virCapabilitiesInitCaches(virCapsPtr caps) ret = 0; cleanup: + VIR_FREE(type); VIR_FREE(path); virDirClose(&dirp); virCapsHostCacheBankFree(bank);