From bbe1178cd6375270b01324dbbd4b34f17ff6ac1a 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 | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c index 2764315325..a5a018652b 100644 --- a/src/node_device/node_device_udev.c +++ b/src/node_device/node_device_udev.c @@ -1108,6 +1108,7 @@ udevGetVDPACharDev(const char *sysfs_path, virReportError(VIR_ERR_INTERNAL_ERROR, _("vDPA chardev path '%s' does not exist"), chardev); + VIR_DIR_CLOSE(dir); return -1; } VIR_DEBUG("vDPA chardev is at '%s'", chardev); @@ -1117,6 +1118,8 @@ udevGetVDPACharDev(const char *sysfs_path, } } + VIR_DIR_CLOSE(dir); + if (direrr < 0) return -1; -- 2.27.0