1
0
mirror of https://github.com/php/php-src.git synced 2026-03-30 20:22:36 +02:00

Merge branch 'PHP-7.1'

* PHP-7.1:
  Update NEWS
  Fix memory leak(null coalescing operator with Spl hash)
This commit is contained in:
Xinchen Hui
2016-11-21 11:46:13 +08:00
2 changed files with 17 additions and 0 deletions

View File

@@ -778,9 +778,11 @@ zval *zend_std_read_dimension(zval *object, zval *offset, int type, zval *rv) /*
if (type == BP_VAR_IS) {
zend_call_method_with_1_params(object, ce, NULL, "offsetexists", rv, offset);
if (UNEXPECTED(Z_ISUNDEF_P(rv))) {
zval_ptr_dtor(offset);
return NULL;
}
if (!i_zend_is_true(rv)) {
zval_ptr_dtor(offset);
zval_ptr_dtor(rv);
return &EG(uninitialized_zval);
}

View File

@@ -0,0 +1,15 @@
--TEST--
SPL: SplObjectStorage null coalescing operator memory leak
--FILE--
<?php
// In maintainer zts mode, this should no longer
// detect memory leaks for the objects
$a = new stdClass();
$b = new stdClass();
$map = new SplObjectStorage();
$map[$a] = 'foo';
var_dump($map[$b] ?? null);
var_dump($map[$a] ?? null);
--EXPECTF--
NULL
string(3) "foo"