Commit Graph

1453 Commits

Author SHA1 Message Date
Dmitry Stogov
af2d47c9c7 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Eliminated useless exception check
2016-12-02 15:40:04 +03:00
Dmitry Stogov
68558ab71d Eliminated useless exception check 2016-12-02 15:39:33 +03:00
Dmitry Stogov
458c732ed4 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fixed calling generators through magic __call()
2016-11-28 12:30:01 +03:00
Dmitry Stogov
970f21be97 Fixed calling generators through magic __call() 2016-11-28 12:20:19 +03:00
Dmitry Stogov
4495ea4740 Micro-optimization 2016-11-22 12:06:39 +03:00
Dmitry Stogov
8d70b04a1c Removed useless (double) checks for EG(exception). (Bob) 2016-11-22 11:50:48 +03:00
Bob Weinand
58f3b9c0ef Merge remote-tracking branch 'origin/PHP-7.0' into PHP-7.1 2016-10-18 14:31:49 +02:00
Bob Weinand
8b177f6a2a Fixed bug #73338 (Exception thrown from error handler may crash) 2016-10-18 14:14:24 +02:00
Xinchen Hui
c9274d20b7 Fixed bug #73288 (Segfault in __clone > Exception.toString > __get)
Actually this is caused by optimization(opcache)

(cherry picked from commit d19898b298)
2016-10-14 01:35:39 +02:00
Xinchen Hui
b28277db94 Cleanup exception handling after zend_fetch_class_by_name 2016-09-30 16:00:14 +08:00
Xinchen Hui
f211614ba7 Use smart branch 2016-09-30 13:19:11 +08:00
Nikita Popov
97066792b7 Merge branch 'PHP-7.0' into PHP-7.1 2016-09-28 22:38:47 +02:00
Nikita Popov
437942d972 Merge branch 'PHP-5.6' into PHP-7.0 2016-09-28 22:36:58 +02:00
Nikita Popov
99bf19c177 Check next_index_insert failure in ADD_ARRAY_ELEMENT 2016-09-28 22:35:27 +02:00
Nikita Popov
bd893061d6 Use SEND_USER for CONST|TMP as well
Otherwise we're missing the "expected to be a reference, value
given" warning that appears for ordinary calls to call_user_func().

Also update an UPGRADING note with recent changes wrt
call_user_func().
2016-09-25 12:39:23 +02:00
Nikita Popov
b4213f0d0b Add fast paths for bitwise operators 2016-09-09 15:30:41 +02:00
Xinchen Hui
38f7d595c0 Remove redundant \t 2016-08-25 13:29:22 +08:00
Nikita Popov
906456c410 call_user_func(_array): Don't abort on reference warning
Change zend_call_function() to not abort the call if a non-reference
is passed to a reference argument. The usual warning will still be
thrown, but the call will proceed as usual.
2016-08-23 10:29:15 +03:00
Xinchen Hui
b740bb3987 Fixed bug #72907 (null pointer deref, segfault in gc_remove_zval_from_buffer (zend_gc.c:260)) 2016-08-21 17:10:10 +08:00
Nikita Popov
3b48c5a36f Revert "Make call_user_func() on reference args consistent"
This reverts commit fafe01b07b.

See bug #72698, there is code using this behavior. Reverting for
PHP 7.0 *only*. The fix is still in PHP 7.1.
2016-07-28 18:45:44 +02:00
Xinchen Hui
5296853fff Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed typo
2016-07-20 17:01:53 +08:00
Xinchen Hui
cbbe17fb53 Fixed typo 2016-07-20 17:01:42 +08:00
Xinchen Hui
9254f5d5d3 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fixed bug #72629 (Caught exception assignment to variables ignores references).

Conflicts:
	main/php_version.h
2016-07-20 17:00:09 +08:00
Xinchen Hui
97c0b133c5 Fixed bug #72629 (Caught exception assignment to variables ignores references). 2016-07-20 16:59:14 +08:00
Nikita Popov
cbba1fff3f Fix leak if get_iterator throws but doesn't return NULL 2016-07-16 23:16:34 +02:00
Nikita Popov
a26748d7be Fix bad merge
In master the operand is fetched earlier, I didn't account for
that.
2016-07-14 20:44:36 +02:00
Nikita Popov
37a2f3fe25 Fix leak if get_constructor returns NULL 2016-07-14 18:42:46 +02:00
Nikita Popov
eba5466f10 Fix leaks if update_constant fails 2016-07-14 18:42:45 +02:00
Nikita Popov
0bda0422af Merge branch 'PHP-7.0'
Conflicts:
	Zend/zend_vm_execute.h
2016-07-14 18:39:48 +02:00
Nikita Popov
c3804a2cf9 Fix leaks in yield from error conditions
Conflicts:
	Zend/zend_vm_execute.h
2016-07-14 18:38:45 +02:00
Nikita Popov
d1f82bfeb2 Fix leak for by-ref assign to overloaded object
Conflicts:
	Zend/zend_vm_execute.h
2016-07-14 18:38:04 +02:00
Dmitry Stogov
9a76189caf Fixed memory leak 2016-07-14 13:14:15 +03:00
Dmitry Stogov
f80bb059b3 Fixed memory leak 2016-07-14 13:05:27 +03:00
Dmitry Stogov
e6f04d4c8e Unified behavior of modification of returned by reference value in finnally code. 2016-07-13 20:35:53 +03:00
Dmitry Stogov
02dca0cf16 Removed wrong warning 2016-07-13 20:04:47 +03:00
Dmitry Stogov
afd3e39d66 Fixed bug #29368 (The destructor is called when an exception is thrown from the constructor). 2016-07-13 16:43:47 +03:00
Dmitry Stogov
3b8cb2119b Fixed bug #72347 (VERIFY_RETURN type casts visible in finally)
Fixed bug #72216 (Return by reference with finally is not memory safe)
Fixed bug #72215 (Wrong return value if var modified in finally)
2016-07-13 15:08:28 +03:00
Dmitry Stogov
fbca255cd0 Fixed bug #71539 (Memory error on $arr[$a] =& $arr[$b] if RHS rehashes) 2016-07-07 00:59:44 +03:00
Dmitry Stogov
023b812593 Fixed bug #72543 (Different references behavior comparing to PHP 5) 2016-07-06 20:46:43 +03:00
Aaron Piotrowski
d9a9cf8eca Merge branch 'master' into iterable 2016-07-03 22:42:10 -05:00
Xinchen Hui
d1dd474ff9 Fixed bug #72523 (dtrace issue with reflection (failed test)) 2016-07-01 18:50:35 +08:00
Dmitry Stogov
1a14533806 Introduce new CHECK_VAR instruction to keep warnings about undefined variables. 2016-06-30 21:40:34 +03:00
Nikita Popov
45cfe7852a Merge branch 'PHP-7.0'
Conflicts:
	Zend/zend_vm_def.h
	Zend/zend_vm_execute.h
2016-06-28 20:57:55 +02:00
Nikita Popov
fafe01b07b Make call_user_func() on reference args consistent
Previously reference arguments were allowed if call_user_func()
was compiled to SEND_USER and not otherwise. Make it consistent
by always forbidding them.
2016-06-28 20:43:38 +02:00
Dmitry Stogov
044e2718fe Fixed executor without global register variales (gcc warnings or clang errors) 2016-06-27 10:36:41 +03:00
Dmitry Stogov
a6387c0aa5 Added ability to make non-local control transfer through interrupt function 2016-06-24 12:20:41 +03:00
Dmitry Stogov
d0460d8f6b Turn safe timeout handling into general interrupt handling ability. 2016-06-23 15:01:23 +03:00
Dmitry Stogov
ebb99a1a3a Fixed compilation warnings 2016-06-21 16:55:17 +03:00
Dmitry Stogov
1616038698 Added ZEND_ATTRIBUTE_FORMAT to some middind functions.
"%p" replaced by ZEND_LONG_FMT to avoid compilation warnings.
Fixed most incorrect use cases of format specifiers.
2016-06-21 16:00:37 +03:00
Dmitry Stogov
ff363e2e7c Implemented RFC: Replace "Missing argument" warning with "Too few arguments" exception
Squashed commit of the following:

commit 8b45fa2acb
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Jun 16 01:52:50 2016 +0300

    Separate slow path of ZEND_RECV into a cold function.

commit 9e18895ee5
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Jun 15 23:26:28 2016 +0300

    Required argument can't be IS_UNDEF anymore.

commit 662db66e39
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue May 31 17:14:50 2016 +0300

    Replace "Missing argument" warning by "Too few arguments" exception.
2016-06-16 02:32:02 +03:00