summaryrefslogtreecommitdiff
path: root/ext/standard/basic_functions.c
diff options
context:
space:
mode:
authorStanislav Malyshev <stas@php.net>2016-07-19 01:44:14 -0700
committerStanislav Malyshev <stas@php.net>2016-07-19 01:44:14 -0700
commit70d6ce336847b9acf2d8069075c14af74eda4c6d (patch)
tree3f1a684c7d093328aa74db9d934efff4a763866f /ext/standard/basic_functions.c
parent5c90f9b9cdf61ff285aa902cf368ecd184bafd17 (diff)
parentb00f8f2a5bae651d6375ca34c676963f1f25ee5a (diff)
downloadphp-git-70d6ce336847b9acf2d8069075c14af74eda4c6d.tar.gz
Merge branch 'PHP-7.0'
* PHP-7.0: (27 commits) fix #72519, possible OOB using imagegif fix #72512, invalid read or write for palette image when invalid transparent index is used Apparently some envs miss SIZE_MAX Fix tests Fix bug #72618: NULL Pointer Dereference in exif_process_user_comment Partial fix for bug #72613 - do not allow reading past error read Partial fix for bug #72613 - do not treat negative returns from bz2 as size_t Fix bug #72606: heap-buffer-overflow (write) simplestring_addn simplestring.c Fix for bug #72558, Integer overflow error within _gdContributionsAlloc() Fix bug #72603: Out of bound read in exif_process_IFD_in_MAKERNOTE update NEWS Fixed bug #72570 Segmentation fault when binding parameters on a query without placeholders Fix bug #72562 - destroy var_hash properly Fix bug #72551 and bug #72552 - check before converting size_t->int Fix bug #72541 - size_t overflow lead to heap corruption Fix bug #72533 (locale_accept_from_http out-of-bounds access) Fix fir bug #72520 Fix for bug #72513 Fix for bug #72513 CS fix and comments with bug ID ... Conflicts: ext/standard/basic_functions.c
Diffstat (limited to 'ext/standard/basic_functions.c')
-rw-r--r--ext/standard/basic_functions.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c
index fd1596e5cd..1cef26c3ae 100644
--- a/ext/standard/basic_functions.c
+++ b/ext/standard/basic_functions.c
@@ -4019,15 +4019,16 @@ PHP_FUNCTION(long2ip)
* System Functions *
********************/
-/* {{{ proto string getenv([string varname])
+/* {{{ proto string getenv(string varname[, bool local_only]
Get the value of an environment variable or every available environment variable
if no varname is present */
PHP_FUNCTION(getenv)
{
char *ptr, *str = NULL;
size_t str_len;
+ zend_bool local_only = 0;
- if (zend_parse_parameters(ZEND_NUM_ARGS(), "|s", &str, &str_len) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS(), "|sb", &str, &str_len, &local_only) == FAILURE) {
RETURN_FALSE;
}
@@ -4037,13 +4038,15 @@ PHP_FUNCTION(getenv)
return;
}
- /* SAPI method returns an emalloc()'d string */
- ptr = sapi_getenv(str, str_len);
- if (ptr) {
- // TODO: avoid realocation ???
- RETVAL_STRING(ptr);
- efree(ptr);
- return;
+ if (!local_only) {
+ /* SAPI method returns an emalloc()'d string */
+ ptr = sapi_getenv(str, str_len);
+ if (ptr) {
+ // TODO: avoid realocation ???
+ RETVAL_STRING(ptr);
+ efree(ptr);
+ return;
+ }
}
#ifdef PHP_WIN32
{