Re: [PATCH] node_device: fix leak of DIR*
On a Tuesday in 2020, Laine Stump wrote: 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. Signed-off-by: Laine Stump --- src/node_device/node_device_udev.c | 3 +++ 1 file changed, 3 insertions(+) Reviewed-by: Ján Tomko Jano signature.asc Description: PGP signature
Re: [PATCH] node_device: fix leak of DIR*
On 10/27/20 10:46 PM, Laine Stump wrote: 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. Signed-off-by: Laine Stump --- Reviewed-by: Daniel Henrique Barboza 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 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;
[PATCH] 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. Signed-off-by: Laine Stump --- 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 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; -- 2.26.2