From ceb607af13c370bb30b6bbbd8adde6e053eb7008 Mon Sep 17 00:00:00 2001 From: Pierre Joye Date: Sun, 30 Aug 2009 17:13:45 +0000 Subject: [PATCH] - Fixed leak on error in popen/exec (and related functions) --- NEWS | 2 ++ TSRM/tsrm_win32.c | 1 + 2 files changed, 3 insertions(+) diff --git a/NEWS b/NEWS index 93db3f8793b..cc6f70a974c 100644 --- a/NEWS +++ b/NEWS @@ -16,6 +16,8 @@ PHP NEWS - Improved shared extension loading on OSX to use the standard Unix dlopen() API. (Scott) +- Fixed leak on error in popen/exec (and related functions) on Windows. + (Pierre) - Fixed possible bad caching of symlinked directories in the realpath cache on Windows. (Pierre) - Fixed atime and mtime in stat related functions on Windows. (Pierre) diff --git a/TSRM/tsrm_win32.c b/TSRM/tsrm_win32.c index b2e94d22af5..19139dd7aeb 100644 --- a/TSRM/tsrm_win32.c +++ b/TSRM/tsrm_win32.c @@ -371,6 +371,7 @@ TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd, sprintf(cmd, "%s /c \"%s\"", TWG(comspec), command); if (!CreateProcess(NULL, cmd, &security, &security, security.bInheritHandle, dwCreateFlags, env, cwd, &startup, &process)) { + free(cmd); return NULL; } free(cmd);