mirror of
https://github.com/php/php-src.git
synced 2026-03-30 20:22:36 +02:00
Squashed commit of the following: commit8b45fa2acbAuthor: Dmitry Stogov <dmitry@zend.com> Date: Thu Jun 16 01:52:50 2016 +0300 Separate slow path of ZEND_RECV into a cold function. commit9e18895ee5Author: Dmitry Stogov <dmitry@zend.com> Date: Wed Jun 15 23:26:28 2016 +0300 Required argument can't be IS_UNDEF anymore. commit662db66e39Author: Dmitry Stogov <dmitry@zend.com> Date: Tue May 31 17:14:50 2016 +0300 Replace "Missing argument" warning by "Too few arguments" exception.
39 lines
728 B
PHP
39 lines
728 B
PHP
--TEST--
|
|
Bug #38217 (ReflectionClass::newInstanceArgs() tries to allocate too much memory)
|
|
--FILE--
|
|
<?php
|
|
|
|
class Object {
|
|
public function __construct() {
|
|
}
|
|
}
|
|
|
|
$class= new ReflectionClass('Object');
|
|
var_dump($class->newInstanceArgs());
|
|
|
|
class Object1 {
|
|
public function __construct($var) {
|
|
var_dump($var);
|
|
}
|
|
}
|
|
|
|
$class= new ReflectionClass('Object1');
|
|
try {
|
|
var_dump($class->newInstanceArgs());
|
|
} catch (Throwable $e) {
|
|
echo "Exception: " . $e->getMessage() . "\n";
|
|
}
|
|
var_dump($class->newInstanceArgs(array('test')));
|
|
|
|
|
|
echo "Done\n";
|
|
?>
|
|
--EXPECTF--
|
|
object(Object)#%d (0) {
|
|
}
|
|
Exception: Too few arguments to function Object1::__construct(), 0 passed and exactly 1 expected
|
|
string(4) "test"
|
|
object(Object1)#%d (0) {
|
|
}
|
|
Done
|