summaryrefslogtreecommitdiff
path: root/ext/standard/url.c
diff options
context:
space:
mode:
authorSascha Schumann <sas@php.net>1999-11-21 20:08:43 +0000
committerSascha Schumann <sas@php.net>1999-11-21 20:08:43 +0000
commit11030ee410abf71efdef478bcbe6e5dead9f76c1 (patch)
treeea12a74fa0664e1b77d485736683842ef098ad47 /ext/standard/url.c
parentf3ca328b341f5e93046e8c3009a8988f40e2025e (diff)
downloadphp-git-11030ee410abf71efdef478bcbe6e5dead9f76c1.tar.gz
(PHP urldecode) Fix for #2788, function changed parameter in place
Diffstat (limited to 'ext/standard/url.c')
-rw-r--r--ext/standard/url.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/ext/standard/url.c b/ext/standard/url.c
index 315e088065..23eb24bc38 100644
--- a/ext/standard/url.c
+++ b/ext/standard/url.c
@@ -297,9 +297,12 @@ PHP_FUNCTION(urldecode)
var_reset(return_value);
return;
}
- len = _php3_urldecode((*arg)->value.str.val, (*arg)->value.str.len);
- RETVAL_STRINGL((*arg)->value.str.val, len, 1);
+ *return_value = **arg;
+ zval_copy_ctor(return_value);
+
+ len = _php3_urldecode(return_value->value.str.val, return_value->value.str.len);
+ return_value->value.str.len = len;
}
/* }}} */