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
This commit is contained in:
John Ferlan 2017-05-12 06:46:20 -04:00
parent 53d3f8b224
commit d6128618e4

View File

@ -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);