summaryrefslogtreecommitdiff
path: root/ext/standard
diff options
context:
space:
mode:
authorPierre Joye <pajoye@php.net>2010-01-24 13:49:47 +0000
committerPierre Joye <pajoye@php.net>2010-01-24 13:49:47 +0000
commite4065db32bc2a57c3c6803ea9495152ab2d854d0 (patch)
treebf0d52638753399c93ca91f9e3bc581ed5138461 /ext/standard
parentf386e268cdc666e9ed40f432845ed976d08f2d52 (diff)
downloadphp-git-e4065db32bc2a57c3c6803ea9495152ab2d854d0.tar.gz
- #50690, putenv does assign value when their length is one char
Diffstat (limited to 'ext/standard')
-rw-r--r--ext/standard/basic_functions.c2
-rw-r--r--ext/standard/tests/general_functions/bug50690.phpt14
2 files changed, 15 insertions, 1 deletions
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c
index 33ca9b7e1c..38c608f670 100644
--- a/ext/standard/basic_functions.c
+++ b/ext/standard/basic_functions.c
@@ -4056,7 +4056,7 @@ PHP_FUNCTION(putenv)
pe.key_len = strlen(pe.key);
#ifdef PHP_WIN32
if (equals) {
- if (pe.key_len < setting_len - 2) {
+ if (pe.key_len < setting_len - 1) {
value = p + 1;
} else {
/* empty string*/
diff --git a/ext/standard/tests/general_functions/bug50690.phpt b/ext/standard/tests/general_functions/bug50690.phpt
new file mode 100644
index 0000000000..4d9f0dc5ee
--- /dev/null
+++ b/ext/standard/tests/general_functions/bug50690.phpt
@@ -0,0 +1,14 @@
+--TEST--
+Bug #23650 (putenv() does not assign values when the value is one character)
+--FILE--
+<?php
+putenv("foo=ab");
+putenv("bar=c");
+var_dump(getenv("foo"));
+var_dump(getenv("bar"));
+var_dump(getenv("thisvardoesnotexist"));
+?>
+--EXPECT--
+string(2) "ab"
+string(1) "c"
+bool(false)