[newlib-cygwin/main] Cygwin: /proc: fix mem leak in opendir in error case

Corinna Vinschen corinna@sourceware.org
Wed Mar 20 13:50:02 GMT 2024


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=8bd6ba8f16ec7ae07118d5f0d552efe421b008a5

commit 8bd6ba8f16ec7ae07118d5f0d552efe421b008a5
Author:     Corinna Vinschen <corinna@vinschen.de>
AuthorDate: Wed Mar 20 14:48:55 2024 +0100
Commit:     Corinna Vinschen <corinna@vinschen.de>
CommitDate: Wed Mar 20 14:48:55 2024 +0100

    Cygwin: /proc: fix mem leak in opendir in error case
    
    Fixes: 1f08558f14e45 ("* fhandler.h (fhandler_proc::opendir): Declare.")
    Signed-off-by: Corinna Vinschen <corinna@vinschen.de>

Diff:
---
 winsup/cygwin/fhandler/proc.cc | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/winsup/cygwin/fhandler/proc.cc b/winsup/cygwin/fhandler/proc.cc
index cb754185b833..a508d4b14d94 100644
--- a/winsup/cygwin/fhandler/proc.cc
+++ b/winsup/cygwin/fhandler/proc.cc
@@ -243,6 +243,8 @@ fhandler_proc::opendir (int fd)
   DIR *dir = fhandler_virtual::opendir (fd);
   if (dir && !(dir->__handle = (void *) new winpids ((DWORD) 0)))
     {
+      free (dir->__d_dirname);
+      free (dir->__d_dirent);
       free (dir);
       dir = NULL;
       set_errno (ENOMEM);


More information about the Cygwin-cvs mailing list