From: Laine Stump Date: Wed, 28 Oct 2020 01:43:47 +0000 (-0400) Subject: node_device: fix leak of DIR* X-Git-Tag: v6.9.0~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=13fe8d607df4deba513be4c42bae5e86c34e9ec9;p=thirdparty%2Flibvirt.git node_device: fix leak of DIR* 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 --- diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c index b1b8427c05..ec0bf9192b 100644 --- a/src/node_device/node_device_udev.c +++ b/src/node_device/node_device_udev.c @@ -1162,6 +1162,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); @@ -1171,6 +1172,8 @@ udevGetVDPACharDev(const char *sysfs_path, } } + VIR_DIR_CLOSE(dir); + if (direrr < 0) return -1;