From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2155) id 8992A3858C39; Wed, 20 Mar 2024 13:50:02 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8992A3858C39 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1710942602; bh=0EvK1aOCYS5H4ZvYMRsYeFAo4Sh0mgxPRgYGKDRGJNU=; h=From:To:Subject:Date:From; b=ljNDQJfm4RG3xmcGvvRHLu7T4onvlNZwdj+1vqSZksO4lj2TP6NKTOWKlZH4/PXI+ kmxHr9IrfzTWdfXanHcNxzJdPgQ10DotWE2HFPqr7zgwzzUPO5Ngf5sLom06oxRbgQ WLWBSbIxuvydloAfi5hi2ArxsWhVQ/9vrwifVESQ= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Corinna Vinschen To: cygwin-cvs@sourceware.org Subject: [newlib-cygwin/main] Cygwin: /proc: fix mem leak in opendir in error case X-Act-Checkin: newlib-cygwin X-Git-Author: Corinna Vinschen X-Git-Refname: refs/heads/main X-Git-Oldrev: 205190a80bd0b50b8b34768fe298411d6bde2e25 X-Git-Newrev: 8bd6ba8f16ec7ae07118d5f0d552efe421b008a5 Message-Id: <20240320135002.8992A3858C39@sourceware.org> Date: Wed, 20 Mar 2024 13:50:02 +0000 (GMT) List-Id: https://sourceware.org/git/gitweb.cgi?p=3Dnewlib-cygwin.git;h=3D8bd6ba8f16e= c7ae07118d5f0d552efe421b008a5 commit 8bd6ba8f16ec7ae07118d5f0d552efe421b008a5 Author: Corinna Vinschen AuthorDate: Wed Mar 20 14:48:55 2024 +0100 Commit: Corinna Vinschen CommitDate: Wed Mar 20 14:48:55 2024 +0100 Cygwin: /proc: fix mem leak in opendir in error case =20 Fixes: 1f08558f14e45 ("* fhandler.h (fhandler_proc::opendir): Declare.") Signed-off-by: Corinna Vinschen 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 =3D fhandler_virtual::opendir (fd); if (dir && !(dir->__handle =3D (void *) new winpids ((DWORD) 0))) { + free (dir->__d_dirname); + free (dir->__d_dirent); free (dir); dir =3D NULL; set_errno (ENOMEM);