summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS2
-rw-r--r--TSRM/tsrm_win32.c7
2 files changed, 6 insertions, 3 deletions
diff --git a/NEWS b/NEWS
index 32335d6443..1d63cf3cf2 100644
--- a/NEWS
+++ b/NEWS
@@ -142,8 +142,6 @@ PHP NEWS
- Fixed bug #45554 (Inconsistent behavior of the u format char). (Derick)
- Fixed bug #43510 (stream_get_meta_data() does not return same mode as used
in fopen). (Jani)
-- Fixed #43327, wrong return value from mail(), if sendmail_path is wrong.
- (Garrett)
- Fixed bug #42434 (ImageLine w/ antialias = 1px shorter). (wojjie at gmail dot
com, Kalle)
- Fixed bug #38091 (Mail() does not use FQDN when sending SMTP helo).
diff --git a/TSRM/tsrm_win32.c b/TSRM/tsrm_win32.c
index a22f31a922..53cfa6175b 100644
--- a/TSRM/tsrm_win32.c
+++ b/TSRM/tsrm_win32.c
@@ -312,6 +312,7 @@ TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd,
HANDLE in, out;
DWORD dwCreateFlags = 0;
process_pair *proc;
+ char *cmd;
TSRMLS_FETCH();
security.nLength = sizeof(SECURITY_ATTRIBUTES);
@@ -347,9 +348,13 @@ TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd,
dwCreateFlags |= CREATE_NO_WINDOW;
}
- if (!CreateProcess(NULL, command, &security, &security, security.bInheritHandle, dwCreateFlags, env, cwd, &startup, &process)) {
+ cmd = (char*)malloc(strlen(command)+strlen(TWG(comspec))+sizeof(" /c ")+2);
+ sprintf(cmd, "%s /c \"%s\"", TWG(comspec), command);
+
+ if (!CreateProcess(NULL, cmd, &security, &security, security.bInheritHandle, dwCreateFlags, env, cwd, &startup, &process)) {
return NULL;
}
+ free(cmd);
CloseHandle(process.hThread);
proc = process_get(NULL TSRMLS_CC);