virCapabilitiesInitCaches: Don't leak cache dir

To every virDirOpen we must have VIR_DIR_CLOSE otherwise FD is
leaked.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
This commit is contained in:
Michal Privoznik 2017-05-22 12:07:19 +02:00
parent f25f30aff5
commit 0b60f88791

View File

@ -1555,6 +1555,8 @@ virCapabilitiesInitCaches(virCapsPtr caps)
if (virAsprintf(&path, "%s/cpu/cpu%zd/cache/", SYSFS_SYSTEM_PATH, pos) < 0)
goto cleanup;
VIR_DIR_CLOSE(dirp);
rv = virDirOpenIfExists(&dirp, path);
if (rv < 0)
goto cleanup;
@ -1639,7 +1641,7 @@ virCapabilitiesInitCaches(virCapsPtr caps)
cleanup:
VIR_FREE(type);
VIR_FREE(path);
virDirClose(&dirp);
VIR_DIR_CLOSE(dirp);
virCapsHostCacheBankFree(bank);
return ret;
}