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
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
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
Dmitry Stogov
a9512af810
Implemented RFC: Fix inconsistent behavior of $this variable
...
Squashed commit of the following:
commit bdd3b6895c
Author: Dmitry Stogov <dmitry@zend.com>
Date: Thu Jun 16 00:19:42 2016 +0300
Fixed GOTO VM
commit 2f1d7c8b89
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jun 15 21:01:57 2016 +0300
Removed unused variable
commit cf749c42b0
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jun 15 19:06:16 2016 +0300
Protection from $this reassign through mb_parse_str()
commit 59a9a6c83c
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jun 15 18:14:50 2016 +0300
Added type inference rule for FETCH_THIS opcode
commit 73f8d14a85
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed Jun 15 18:11:18 2016 +0300
Restored PHP-7 behavior of isset($this->foo).
It throws exception if not in object context.
Removed useless opcode handlers.
commit fa0881381e
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue May 31 12:25:47 2016 +0300
Changed "Notice: Undefined variable: this" into "Exception: Using $this when not in object context".
commit e32cc528c0
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue May 24 02:02:43 2016 +0300
Throw exception on attempt to re-assign $this through extract() and parse_str().
commit 41f1531b52
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon May 23 22:18:36 2016 +0300
Fixed inconsistent $this behavior
2016-06-16 02:30:23 +03:00
Dmitry Stogov
006b8417d1
Added specialized handlers for SEND_VAR/SEND_VAR_EX opcodes.
2016-06-15 23:07:46 +03:00
Dmitry Stogov
e7e79aa409
Delay IS_ERROR checks
2016-06-09 12:39:38 +03:00
Dmitry Stogov
a315842751
typo
2016-06-08 19:01:28 +03:00
Nikita Popov
766ad0d970
Followup for bug #53432
...
Assign-ops and nested accesses now get the same treatment.
2016-06-08 15:43:58 +02:00
Dmitry Stogov
0c79896208
cleanup
2016-06-08 12:55:31 +03:00
Dmitry Stogov
fc587c7c55
Removed useless reference counting
2016-06-08 11:24:53 +03:00
Dmitry Stogov
10f056255e
Better fix for bug #70228 (memleak if return in finally block)
2016-06-08 02:20:45 +03:00