?? ??? 2015, PHP 7.0.1
- Core:
+ . Fixed bug #70947 (INI parser segfault with INI_SCANNER_TYPED). (Laruence)
. Fixed bug #70944 (try{ } finally{} can create infinite chains of
exceptions). (Laruence)
. Fixed bug #70914 (zend_throw_or_error() format string vulnerability).
ZVAL_PSTRINGL(op1, str->val, str->len);
zend_string_release(str);
}
-
op1_len = (int)Z_STRLEN_P(op1);
+
+ if (Z_TYPE_P(op2) != IS_STRING) {
+ zend_string *str = zval_get_string(op2);
+ ZVAL_PSTRINGL(op2, str->val, str->len);
+ zend_string_release(str);
+ }
length = op1_len + (int)Z_STRLEN_P(op2);
ZVAL_NEW_STR(result, zend_string_extend(Z_STR_P(op1), length, 1));
--- /dev/null
+--TEST--
+Bug #70947 (INI parser segfault with INI_SCANNER_TYPED)
+--FILE--
+<?php
+$o = parse_ini_string('foo = bar 123', FALSE, INI_SCANNER_TYPED);
+var_dump($o);
+?>
+--EXPECT--
+array(1) {
+ ["foo"]=>
+ string(7) "bar 123"
+}