[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 <laine@redhat.com> --- 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

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 <laine@redhat.com> ---
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
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;

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 <laine@redhat.com> --- src/node_device/node_device_udev.c | 3 +++ 1 file changed, 3 insertions(+)
Reviewed-by: Ján Tomko <jtomko@redhat.com> Jano
participants (3)
-
Daniel Henrique Barboza
-
Ján Tomko
-
Laine Stump