[PATCH] node_device: fix leak of DIR*

Daniel Henrique Barboza danielhb413 at gmail.com
Wed Oct 28 11:02:48 UTC 2020



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 at redhat.com>
> ---

Reviewed-by: Daniel Henrique Barboza <danielhb413 at 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;
>   
> 




More information about the libvir-list mailing list