Nikita Popov
1b29e0cacd
Switch zend_print_zval_r to use smart_str
...
Instead of directly writing to stdout. This allows doing a print_r
into a string, without using output buffering.
The motivation for this is bug #67467 : print_r() in return mode
will still dump the string to stdout (causing a potential information
leak) if a fatal error occurs.
2016-06-13 18:04:22 +02:00
Xinchen Hui
ae3be78ce8
EG(fake_scope) was always set to NULL wrongly
2016-06-12 15:32:04 +08:00
Xinchen Hui
3f77db0510
cast const away
2016-06-11 16:11:40 +08:00
Nikita Popov
792e89385c
Fixed bug #72373
2016-06-10 15:57:18 +02: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
b03dce0cb3
Replaced wrong check with proper ZEND_ASSERT()
2016-06-08 12:11:47 +03:00
Dmitry Stogov
fc587c7c55
Removed useless reference counting
2016-06-08 11:24:53 +03: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
Dmitry Stogov
214d4613f5
cleanup
2016-06-07 01:14:53 +03:00
Dmitry Stogov
d324db717c
Fixed mixed declarations and code
2016-06-07 01:01:48 +03:00
Dmitry Stogov
cebb5cd46e
micro-optimization
2016-06-06 20:45:10 +03:00
Dmitry Stogov
58c083dfc9
simplification
2016-06-06 15:50:06 +03:00
Nikita Popov
543649bd4c
Fix correctness issues with type narrowing
...
Fixes bug #72335 .
2016-06-06 14:56:17 +03:00
Anatol Belski
ba3763fa2d
hard_timeout ignored on TS
2016-06-06 08:41:07 +02:00
Anatol Belski
52ebd5611f
fix hard_timeout support in shutdown functions
2016-06-06 08:41:07 +02: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
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
Nikita Popov
cb3825a8dc
Small generator-related cleanups
2016-06-04 13:27:11 +02:00
Anatol Belski
4b2fb0b4ae
fix dangling pointer, phpdbg reveals it
2016-06-02 19:42:50 +02:00
Anatol Belski
47e26cf9db
fix known interned strings init with TS per request
2016-06-02 17:55:48 +02:00
Dmitry Stogov
1b4946e658
Use "fast" assembler functions in "slow" ones.
...
Mark assembler functions that changes memory.
2016-06-01 20:52:14 +03:00
Dmitry Stogov
6a32d44392
cleanup
2016-06-01 18:07:05 +03:00
Anatol Belski
ce02f0f3b8
fix test
2016-05-31 18:55:39 +02:00
Dmitry Stogov
b111da96d9
Split ZEND_SEND_VAR_NO_REF into ZEND_SEND_VAR_NO_REF and ZEND_SEND_VAR_NO_REF_EX (similar to ZEND_SEND_VAL) and remove ZEND_ARG_* flags.
2016-05-31 04:06:00 +03:00
Dmitry Stogov
f216176bc9
Initialize only the necessary fields.
2016-05-31 00:04:52 +03: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
Lauri Kenttä
287f9489d8
Fix bug #72221 (segfault, past-the-end access)
2016-05-28 16:10:16 +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
9b27df8df5
Fixed white-spaces
2016-05-24 12:37:20 +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
Lauri Kenttä
26fa27d760
Fix bug #72221 (segfault, past-the-end access)
2016-05-21 18:46:00 +03:00