From 3cd86072fd6725178b669174eb99ab24a0bcee6c Mon Sep 17 00:00:00 2001 From: AlexChen Date: Tue, 27 Oct 2020 21:43:47 -0400 Subject: [PATCH] node_device: fix leak of DIR* MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Commit 53aec799fa31 introduced the function udevGetVDPACharDev(), which scans a directory using virDirOpenIfExists() and virDirRead(). It unfortunately forgets to close the DIR* when it is finished with it. This patch fixes that omission. Fixes: 53aec799fa31711ffaeacc7ec17ec6d3c2e3cadf Signed-off-by: Laine Stump Reviewed-by: Daniel Henrique Barboza Reviewed-by: Ján Tomko Signed-off-by: AlexChen --- src/node_device/node_device_udev.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c index 911325600e..c82d3e7dea 100644 --- a/src/node_device/node_device_udev.c +++ b/src/node_device/node_device_udev.c @@ -1198,6 +1198,7 @@ udevGetVDPACharDev(const char *sysfs_path, virReportError(VIR_ERR_INTERNAL_ERROR, _("vDPA chardev path '%1$s' does not exist"), chardev); + virDirClose(dir); return -1; } VIR_DEBUG("vDPA chardev is at '%s'", chardev); @@ -1206,6 +1207,9 @@ udevGetVDPACharDev(const char *sysfs_path, break; } } + + virDirClose(dir); + if (direrr < 0) return -1; -- 2.27.0