Nikita Popov
9b8f1d6037
Don't use FUNC_ARG fetches for call_user_func()
...
This makes no sense -- SEND_USER can't even handle INDIRECTs.
2016-06-28 21:34:20 +02: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
Xinchen Hui
791d16834c
Merge branch 'PHP-7.0'
...
* PHP-7.0:
Fixed test
2016-06-28 15:39:10 +08:00
Xinchen Hui
76370f30db
Fixed test
2016-06-28 15:39:02 +08:00
Xinchen Hui
3a4b8f6719
Merge branch 'PHP-7.0'
...
* PHP-7.0:
Fixed bug #72508 (strange references after recursive function call and "switch" statement)
2016-06-28 15:36:58 +08:00
Xinchen Hui
ce7e180a04
Fixed bug #72508 (strange references after recursive function call and "switch" statement)
2016-06-28 15:36:50 +08:00
Stanislav Malyshev
7dde353ee7
Merge branch 'PHP-5.5' into PHP-5.6.23
...
* PHP-5.5:
Fixed bug #72446 - Integer Overflow in gdImagePaletteToTrueColor() resulting in heap overflow
update NEWS
fix tests
fix build
Fix bug #72455 : Heap Overflow due to integer overflows
Fix bug #72434 : ZipArchive class Use After Free Vulnerability in PHP's GC algorithm and unserialize
Fixed ##72433: Use After Free Vulnerability in PHP's GC algorithm and unserialize
Fix bug #72407 : NULL Pointer Dereference at _gdScaleVert
Fix bug #72402 : _php_mb_regex_ereg_replace_exec - double free
Fix bug #72298 pass2_no_dither out-of-bounds access
Fixed #72339 Integer Overflow in _gd2GetHeader() resulting in heap overflow
Fix bug #72262 - do not overflow int
Fix bug #72400 and #72403 - prevent signed int overflows for string lengths
Fix bug #72275 : don't allow smart_str to overflow int
Fix bug #72340 : Double Free Courruption in wddx_deserialize
update NEWS
Fix #66387 : Stack overflow with imagefilltoborder
Skip test which is 64bits only
5.5.37 now
Conflicts:
configure.in
ext/mcrypt/mcrypt.c
ext/spl/spl_directory.c
main/php_version.h
2016-06-21 00:01:48 -07:00
Stanislav Malyshev
3f627e580a
Fixed ##72433: Use After Free Vulnerability in PHP's GC algorithm and unserialize
2016-06-20 21:26:33 -07:00
Xinchen Hui
fcd8a5ca65
Fixed bug #72441 (Segmentation fault: RFC list_keys)
2016-06-17 09:34:15 -07: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
Xinchen Hui
9c8e1c03b9
Only allow single comma in tail
2016-06-14 14:02:34 +08:00
Xinchen Hui
dcd1c29f79
Fixed bug #72395 (list() regression)
2016-06-13 09:21:14 -07:00
Nikita Popov
792e89385c
Fixed bug #72373
2016-06-10 15:57:18 +02: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
3610156c5d
This test was fixed together with fix for bug #70228
2016-06-08 11:14:06 +03:00
Dmitry Stogov
10f056255e
Better fix for bug #70228 (memleak if return in finally block)
2016-06-08 02:20:45 +03:00
Dmitry Stogov
2bae4e18a2
Fixed bug #70228 (Memleak if return in finally block)
2016-06-08 00:23:33 +03:00
Dmitry Stogov
421843977f
Fixed bug #71266 (Missing separation of properties HT in foreach etc).
2016-06-07 23:18:52 +03:00
Nikita Popov
543649bd4c
Fix correctness issues with type narrowing
...
Fixes bug #72335 .
2016-06-06 14:56:17 +03:00
Aaron Piotrowski
277d89cde8
Limit covariance to array and Traversable
2016-06-05 22:06:17 -05:00
Nikita Popov
3be92120ba
Fix handling of parse_str() with unpack in optimizer
2016-06-05 22:16:15 +02:00
Nikita Popov
70f0546885
Don't optimize special dynamic calls to non-dynamic
...
As it drops the warning. This is more problematic with constant
propagation, as tests would fail.
Extract a zend_optimizer_classify_function() function, as its now
needed by zend_cfg and update_opN.
2016-06-05 22:04:36 +02:00
Nikita Popov
945a83103d
Fixed bug #53432
...
This change was discussed a while ago in the "negative string
offsets" thread.
2016-06-04 19:20:07 +02:00
Aaron Piotrowski
c2266c382a
Fix generator test; add covariance tests
2016-06-04 10:08:44 -05:00
Nikita Popov
9ba243b6f3
Forbid ?void
2016-06-04 14:53:50 +02:00
Nikita Popov
73b2f79199
More explicit errors for return; vs return null;
...
Both for "return null" in a void function and "return" in
a nullable return function.
2016-06-04 13:27:11 +02:00
Nikita Popov
fe907562ad
Forbid "return;" for typed returns already at compile-time
...
These would otherwise generate a "none returned" error at runtime.
Catch them early.
2016-06-04 13:27:11 +02:00
Aaron Piotrowski
bea9df5281
Add iterable tests
2016-06-03 18:41:03 -05:00
Danack
fc92eeeadf
Added reflection test. Standardised filename for other tests.
2016-06-01 21:53:01 +01:00
Anatol Belski
ce02f0f3b8
fix test
2016-05-31 18:55:39 +02:00
Nikita Popov
921b3251b3
Fix bug #71604
...
Alternatively could throw some kind of uncatchable dummy exception
into the generator. Right now just checking for NULL in two places
seems simpler.
2016-05-28 14:40:32 +02:00
Nikita Popov
79de9fa4aa
Merge branch 'PHP-7.0'
...
Conflicts:
Zend/zend_vm_execute.h
2016-05-28 13:22:49 +02:00
Nikita Popov
4746e5efcb
Forbid "yield from" in force closed generators
...
Same check we do for "yield", was missed when "yield from" was
added. We could make this more granular by only forbidding to
actually yield values and still allow something like "yield from []",
but this does not seem worthwhile.
2016-05-28 13:21:05 +02:00
Xinchen Hui
d29bd582a8
Added NEWS Entry
2016-05-28 16:12:10 +08:00
Lauri Kenttä
58302192b7
Test for bug #72221 , segfault in zend_memnstr_ex
2016-05-28 16:10:29 +08:00
Xinchen Hui
cbe89e2c6e
Merge branch 'fix-72221' of https://github.com/Metabolix/php-src
...
* 'fix-72221' of https://github.com/Metabolix/php-src :
Test for bug #72221 , segfault in zend_memnstr_ex
Fix bug #72221 (segfault, past-the-end access)
2016-05-28 16:09:31 +08:00
Dmitry Stogov
2ae21abdf7
Fixed bug #72213 (Finally leaks on nested exceptions).
...
Squashed commit of the following:
commit 8461b0407f
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed May 25 00:34:42 2016 +0300
Rmoved zend_try_catch_element.parent and walk through op_array.try_catch_array backward from the current try_cacth_offset.
commit 0c71e24964
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed May 25 00:04:53 2016 +0300
Move SAVE_OPLINE() to its original place
commit 111432a4df
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed May 25 00:01:10 2016 +0300
Separate the common part of ZEND_HANDLE_EXCEPTION and FAST_RET into zend_dispatch_try_catch_finally_helper.
commit 4f21c06c2e
Author: Nikita Popov <nikic@php.net>
Date: Tue May 24 14:55:27 2016 +0200
Improve finally fix
commit da5c727499
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue May 24 10:36:08 2016 +0300
Fixed Zend/tests/try/bug70228_3.phpt and Zend/tests/try/bug70228_4.phpt
commit cfcedf2fb4
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue May 24 02:59:27 2016 +0300
Added test
commit 4c6aa93d43
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue May 24 00:38:20 2016 +0300
Added tests
commit 8a8f4704b0
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon May 23 23:27:34 2016 +0300
Fixed bug #72213 (Finally leaks on nested exceptions)
2016-05-25 01:25:12 +03:00
Nikita Popov
91f5940329
Forbid dynamic calls to scope introspection functions
...
Per RFC:
https://wiki.php.net/rfc/forbid_dynamic_scope_introspection
2016-05-24 20:48:24 +02:00
Nikita Popov
674297c7e4
Allow empty property names
...
Conflicts:
Zend/zend_compile.c
2016-05-24 18:34:17 +02:00
Nikita Popov
a19eb8e34a
Ensure no entry predecessors for SSA construction
2016-05-24 18:29:45 +02:00
Lauri Kenttä
ad98f573f6
Test for bug #72221 , segfault in zend_memnstr_ex
2016-05-24 17:40:29 +03:00
Dmitry Stogov
0cdbabe558
Merge branch 'nullable_types' of github.com:morrisonlevi/php-src
...
* 'nullable_types' of github.com:morrisonlevi/php-src:
Fix bug #71428
Add nullable parameter types
Implement nullable return types.
2016-05-23 10:14:26 +03:00
Bob Weinand
4f077aee83
Allow for [] = $array; (alias for list())
2016-05-20 01:51:05 +02:00
Dmitry Stogov
14a71cf545
Added and fixed tests related to "finally" handling
2016-05-19 13:22:46 +03:00
Nikita Popov
b65b15c6f4
Mark assert() as INDIRECT_VAR_ACCESS
...
I don't like this... we may want to detect "obviously not string"
operands by checking for the result of a comparison instruction.
2016-05-17 16:13:17 +02:00
Xinchen Hui
fad91468db
Revert "Fixed Bug #72213 (Finally leaks on nested exceptions)"
...
This reverts commit 5037ebf058
.
2016-05-17 20:27:16 +08:00
Xinchen Hui
5037ebf058
Fixed Bug #72213 (Finally leaks on nested exceptions)
2016-05-17 15:32:43 +08:00
Dmitry Stogov
97bf4e0b12
Check if generator object is created by GENERATOR_CREATE when throw exceptions from generator function
2016-05-16 12:42:13 +03:00