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 Signed-off-by: John Ferlan <jferlan@xxxxxxxxxx> --- 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 c36ca40..d699b08 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); -- 2.9.3 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list