]> granicus.if.org Git - php/commitdiff
Fixed bug #52209 (INPUT_ENV returns NULL for set variables (CLI)).
authorIlia Alshanetsky <iliaa@php.net>
Wed, 22 Dec 2010 16:18:59 +0000 (16:18 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Wed, 22 Dec 2010 16:18:59 +0000 (16:18 +0000)
ext/filter/filter.c
ext/filter/tests/bug52209.phpt [new file with mode: 0644]

index e2aa2cc688d5bff9f05da4cd31105ef4eee4e186..507ce2a47f037ae4c0a5d10fa5f23c316f834153 100644 (file)
@@ -546,7 +546,7 @@ static zval *php_filter_get_storage(long arg TSRMLS_DC)/* {{{ */
                        if (PG(auto_globals_jit)) {
                                zend_is_auto_global("_ENV", sizeof("_ENV")-1 TSRMLS_CC);
                        }
-                       array_ptr = IF_G(env_array);
+                       array_ptr = IF_G(env_array) ? IF_G(env_array) : PG(http_globals)[TRACK_VARS_ENV];
                        break;
                case PARSE_SESSION:
                        /* FIXME: Implement session source */
diff --git a/ext/filter/tests/bug52209.phpt b/ext/filter/tests/bug52209.phpt
new file mode 100644 (file)
index 0000000..49408ea
--- /dev/null
@@ -0,0 +1,10 @@
+--TEST--
+Bug #52209 (INPUT_ENV returns NULL for set variables (CLI))
+--SKIPIF--
+<?php if (!extension_loaded("filter") || !empty($_ENV['PWD'])) die("skip"); ?>
+--FILE--
+<?php
+       var_dump(filter_input(INPUT_ENV, 'PWD'));
+?>
+--EXPECTF--    
+string(%d) "%s"