summaryrefslogtreecommitdiff
path: root/ext/standard/php_fopen_wrapper.c
diff options
context:
space:
mode:
authorWez Furlong <wez@php.net>2004-04-19 17:41:39 +0000
committerWez Furlong <wez@php.net>2004-04-19 17:41:39 +0000
commitdaa90c915cafcedc8fd56812c78c14f8b823180f (patch)
tree5fd11334f546615cf0c32c7aa82621ef6a3a5800 /ext/standard/php_fopen_wrapper.c
parent3326b8790ebd876dc53a40b978cf7739039eb8f6 (diff)
downloadphp-git-daa90c915cafcedc8fd56812c78c14f8b823180f.tar.gz
Fix #27865; don't dup STDIN, STDOUT or STDERR when running under CLI.
Diffstat (limited to 'ext/standard/php_fopen_wrapper.c')
-rw-r--r--ext/standard/php_fopen_wrapper.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/ext/standard/php_fopen_wrapper.c b/ext/standard/php_fopen_wrapper.c
index ccf256015a..4e53594326 100644
--- a/ext/standard/php_fopen_wrapper.c
+++ b/ext/standard/php_fopen_wrapper.c
@@ -166,11 +166,11 @@ php_stream * php_stream_url_wrap_php(php_stream_wrapper *wrapper, char *path, ch
}
if (!strcasecmp(path, "stdin")) {
- fd = dup(STDIN_FILENO);
+ fd = !strcmp(sapi_module.name, "cli") ? STDIN_FILENO : dup(STDIN_FILENO);
} else if (!strcasecmp(path, "stdout")) {
- fd = dup(STDOUT_FILENO);
+ fd = !strcmp(sapi_module.name, "cli") ? STDOUT_FILENO : dup(STDOUT_FILENO);
} else if (!strcasecmp(path, "stderr")) {
- fd = dup(STDERR_FILENO);
+ fd = !strcmp(sapi_module.name, "cli") ? STDERR_FILENO : dup(STDERR_FILENO);
} else if (!strncasecmp(path, "filter/", 7)) {
/* Save time/memory when chain isn't specified */
if (strchr(mode, 'r') || strchr(mode, '+')) {