summaryrefslogtreecommitdiff
path: root/ext/standard/basic_functions.c
diff options
context:
space:
mode:
authorTjerk Meesters <datibbaw@php.net>2015-08-15 16:29:12 +0800
committerTjerk Meesters <datibbaw@php.net>2015-08-15 16:49:30 +0800
commit0bd7d7a3691cee4e916d1008500cf21b80e03056 (patch)
tree3060ccc058447c56c4e42dfbefad42e2a4311552 /ext/standard/basic_functions.c
parentc63b50557318132723494d945ae284f517ab2e16 (diff)
parentb0c5439b5f1874070b1baae2dd4c70530b724da1 (diff)
downloadphp-git-0bd7d7a3691cee4e916d1008500cf21b80e03056.tar.gz
Merge branch 'PHP-5.6'
* PHP-5.6: Updated NEWS for #70157 Fixed #70157 parse_ini_string() segmentation fault with INI_SCANNER_TYPED
Diffstat (limited to 'ext/standard/basic_functions.c')
-rw-r--r--ext/standard/basic_functions.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c
index 3f03275aa5..8b83d558d3 100644
--- a/ext/standard/basic_functions.c
+++ b/ext/standard/basic_functions.c
@@ -5845,11 +5845,11 @@ static void php_simple_ini_parser_cb(zval *arg1, zval *arg2, zval *arg3, int cal
}
ZVAL_DUP(&element, arg2);
-
- if (arg3 && Z_STRLEN_P(arg3) > 0) {
- zend_symtable_update(Z_ARRVAL_P(find_hash), Z_STR_P(arg3), &element);
- } else {
+ if (!arg3 || (Z_TYPE_P(arg3) == IS_STRING && Z_STRLEN_P(arg3) == 0)) {
add_next_index_zval(find_hash, &element);
+ } else {
+ array_set_zval_key(Z_ARRVAL_P(find_hash), arg3, &element);
+ zval_ptr_dtor(&element);
}
}
break;