]>
granicus.if.org Git - php/log
Stanislav Malyshev [Wed, 25 May 2016 03:53:34 +0000 (20:53 -0700)]
Merge branch 'PHP-7.0'
* PHP-7.0:
Fix memory leak in imagescale()
Update NEWS
Better fix for bug #72135
Fixed bug #72227: imagescale out-of-bounds read
Fix bug #72241: get_icu_value_internal out-of-bounds read
Fix bug #72135 - don't create strings with lengths outside int range
set versions
Add check for string overflow to all string add operations
Fix bug #72114 - int/size_t confusion in fread
Updated NEWS
Fixed bug #71331 - Uninitialized pointer in phar_make_dirstream()
Stanislav Malyshev [Wed, 25 May 2016 03:51:52 +0000 (20:51 -0700)]
Merge branch 'PHP-7.0.7' into PHP-7.0
* PHP-7.0.7:
Fix memory leak in imagescale()
Update NEWS
Better fix for bug #72135
Fixed bug #72227: imagescale out-of-bounds read
Fix bug #72241: get_icu_value_internal out-of-bounds read
Fix bug #72135 - don't create strings with lengths outside int range
set versions
Add check for string overflow to all string add operations
Fix bug #72114 - int/size_t confusion in fread
Updated NEWS
Fixed bug #71331 - Uninitialized pointer in phar_make_dirstream()
Conflicts:
configure.in
main/php_version.h
Stanislav Malyshev [Wed, 25 May 2016 00:58:37 +0000 (17:58 -0700)]
Merge branch 'PHP-5.5' into PHP-7.0.7
* PHP-5.5:
Fix memory leak in imagescale()
Update NEWS
Better fix for bug #72135
Fixed bug #72227: imagescale out-of-bounds read
Fix bug #72241: get_icu_value_internal out-of-bounds read
Fix bug #72135 - don't create strings with lengths outside int range
Add check for string overflow to all string add operations
Fix bug #72114 - int/size_t confusion in fread
Updated NEWS
Fixed bug #71331 - Uninitialized pointer in phar_make_dirstream()
Conflicts:
Zend/zend_operators.c
ext/intl/locale/locale_methods.c
ext/phar/dirstream.c
ext/phar/tests/bug71331.phpt
ext/standard/file.c
ext/standard/html.c
Stanislav Malyshev [Tue, 24 May 2016 23:12:01 +0000 (16:12 -0700)]
Fix memory leak in imagescale()
Stanislav Malyshev [Tue, 24 May 2016 22:56:02 +0000 (15:56 -0700)]
Update NEWS
Stanislav Malyshev [Tue, 24 May 2016 22:52:15 +0000 (15:52 -0700)]
Better fix for bug #72135
Dmitry Stogov [Tue, 24 May 2016 22:25:12 +0000 (01:25 +0300)]
Fixed bug #72213 (Finally leaks on nested exceptions).
Squashed commit of the following:
commit
8461b0407fc9eab0869d43b84e6a92ba2fe06997
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
0c71e249649bed178bfbef30bb3e63c57f07af05
Author: Dmitry Stogov <dmitry@zend.com>
Date: Wed May 25 00:04:53 2016 +0300
Move SAVE_OPLINE() to its original place
commit
111432a4df738fcd65878a42f23194dc3c4983a2
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
4f21c06c2ec17819a708bc037f318784554a6ecd
Author: Nikita Popov <nikic@php.net>
Date: Tue May 24 14:55:27 2016 +0200
Improve finally fix
commit
da5c7274997b8308e682b5bf280124e3a1483086
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
cfcedf2fb4f4fc1f7de9f7d53a3037fed7795f19
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue May 24 02:59:27 2016 +0300
Added test
commit
4c6aa93d43da941eb4fda15b48154bfb104bdc04
Author: Dmitry Stogov <dmitry@zend.com>
Date: Tue May 24 00:38:20 2016 +0300
Added tests
commit
8a8f4704b0eca2e460d42c1f253a363b0db8e510
Author: Dmitry Stogov <dmitry@zend.com>
Date: Mon May 23 23:27:34 2016 +0300
Fixed bug #72213 (Finally leaks on nested exceptions)
Nikita Popov [Sun, 24 Apr 2016 21:49:52 +0000 (23:49 +0200)]
Forbid dynamic calls to scope introspection functions
Per RFC:
https://wiki.php.net/rfc/forbid_dynamic_scope_introspection
Nikita Popov [Wed, 23 Mar 2016 17:57:59 +0000 (18:57 +0100)]
Allow empty property names
Conflicts:
Zend/zend_compile.c
Nikita Popov [Wed, 18 May 2016 21:46:20 +0000 (23:46 +0200)]
Ensure no entry predecessors for SSA construction
Nikita Popov [Wed, 18 May 2016 16:03:05 +0000 (18:03 +0200)]
Replace BB end with BB len
And support empty blocks everywhere.
Dmitry Stogov [Tue, 24 May 2016 09:37:20 +0000 (12:37 +0300)]
Fixed white-spaces
Stanislav Malyshev [Mon, 23 May 2016 07:28:02 +0000 (00:28 -0700)]
Fixed bug #72227: imagescale out-of-bounds read
Ported from https://github.com/libgd/libgd/commit/
4f65a3e4eedaffa1efcf9ee1eb08f0b504fbc31a
Dmitry Stogov [Mon, 23 May 2016 07:14:26 +0000 (10:14 +0300)]
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.
Stanislav Malyshev [Mon, 23 May 2016 00:49:02 +0000 (17:49 -0700)]
Fix bug #72241: get_icu_value_internal out-of-bounds read
Nikita Popov [Sat, 21 May 2016 22:05:06 +0000 (00:05 +0200)]
Improve previous fix
Do not mark loop var free blocks as reachable after all -- as we
can't construct SSA for unreachable blocks, this would cause
issues down the line.
Instead add an extra UNREACHABLE_FREE flag and retain only the
FREE instruction during NOP removal. (If we retain all
instructions in the BB we might leave a jump instruction that goes
into the nowhere.)
Nikita Popov [Sat, 21 May 2016 18:17:09 +0000 (20:17 +0200)]
Fix reachability detection if live ranges aren't split
Even if we don't split, we still want to keep the same logic for
reachibility detection.
Bob Weinand [Mon, 4 Apr 2016 22:34:42 +0000 (00:34 +0200)]
Allow for [] = $array; (alias for list())
Dmitry Stogov [Thu, 19 May 2016 10:22:46 +0000 (13:22 +0300)]
Added and fixed tests related to "finally" handling
Dmitry Stogov [Wed, 18 May 2016 12:06:49 +0000 (15:06 +0300)]
Added specialized handler for ZEND_FETCH_DIM_R opcode with only numeric indexes.
Derick Rethans [Wed, 18 May 2016 11:19:58 +0000 (12:19 +0100)]
Merge branch 'PHP-7.0'
Derick Rethans [Wed, 18 May 2016 11:19:49 +0000 (12:19 +0100)]
Merge branch 'PHP-5.6' into PHP-7.0
Derick Rethans [Wed, 18 May 2016 11:19:11 +0000 (12:19 +0100)]
Fixed bug #63740 (strtotime seems to use both sunday and monday as start of week)
Dmitry Stogov [Wed, 18 May 2016 08:29:02 +0000 (11:29 +0300)]
Fixed typo
Nikita Popov [Tue, 17 May 2016 20:17:22 +0000 (22:17 +0200)]
Move builtin_ctzl portability into zend_bitset.h
Use this function in both zend_mm_bitset_find_one and
zend_bitset_first.
Maybe zend_bitset.h is not quite the right place for it, but I did
not want to include this in a globally included header like
zend_long.h or zend_portability.h.
Dmitry Stogov [Tue, 17 May 2016 14:17:09 +0000 (17:17 +0300)]
Merge branch 'PHP-7.0'
* PHP-7.0:
Use PHP_VERSION as OPcahce version
Dmitry Stogov [Tue, 17 May 2016 14:16:10 +0000 (17:16 +0300)]
Use PHP_VERSION as OPcahce version
Nikita Popov [Tue, 17 May 2016 14:13:17 +0000 (16:13 +0200)]
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.
Xinchen Hui [Tue, 17 May 2016 12:28:26 +0000 (20:28 +0800)]
Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
Inlined fast paths of the freqently execute handlers for FETCH_DIM_R.
Xinchen Hui [Tue, 17 May 2016 12:27:16 +0000 (20:27 +0800)]
Revert "Fixed Bug #72213 (Finally leaks on nested exceptions)"
This reverts commit
5037ebf058bdc94e4426240a6d35fcf427d2eee2 .
Dmitry Stogov [Tue, 17 May 2016 12:08:04 +0000 (15:08 +0300)]
Inlined fast paths of the freqently execute handlers for FETCH_DIM_R.
Xinchen Hui [Tue, 17 May 2016 10:07:36 +0000 (18:07 +0800)]
Merge branch 'PHP-7.0'
* PHP-7.0:
Let's only read-only here
Xinchen Hui [Tue, 17 May 2016 10:07:20 +0000 (18:07 +0800)]
Let's only read-only here
Xinchen Hui [Tue, 17 May 2016 09:41:01 +0000 (17:41 +0800)]
Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
Specialize ZEND_ASSIGN_ADD and family according to value of opline->extended_value
Xinchen Hui [Tue, 17 May 2016 09:40:37 +0000 (17:40 +0800)]
Merge branch 'PHP-7.0'
* PHP-7.0:
Fixed bug #72229 (Wrong reference when serialize/unserialize an object)
Xinchen Hui [Tue, 17 May 2016 09:40:26 +0000 (17:40 +0800)]
Fixed bug #72229 (Wrong reference when serialize/unserialize an object)
Dmitry Stogov [Tue, 17 May 2016 08:46:25 +0000 (11:46 +0300)]
Specialize ZEND_ASSIGN_ADD and family according to value of opline->extended_value
Xinchen Hui [Tue, 17 May 2016 07:32:43 +0000 (15:32 +0800)]
Fixed Bug #72213 (Finally leaks on nested exceptions)
Dmitry Stogov [Tue, 17 May 2016 05:45:06 +0000 (08:45 +0300)]
IS_CONST operands don't have to be separated. Use reference-counting instead of duplication.
- with opcache all IS_CONST operands are not refcounted (scalars, interned strings or immutable arrays)
- without opcache IS_CONST operands are not shared between processes or threads and may use common reference counters
Dmitry Stogov [Mon, 16 May 2016 23:09:29 +0000 (02:09 +0300)]
micro-optimisation
Anatol Belski [Mon, 16 May 2016 17:31:20 +0000 (19:31 +0200)]
Merge branch 'PHP-7.0'
* PHP-7.0:
update NEWS
Tidy up
Remove unnecessary boundary checks
Resolve bug #72017
Anatol Belski [Mon, 16 May 2016 17:30:38 +0000 (19:30 +0200)]
update NEWS
Thomas Punt [Sat, 16 Apr 2016 09:51:40 +0000 (10:51 +0100)]
Tidy up
Thomas Punt [Sat, 16 Apr 2016 08:33:01 +0000 (09:33 +0100)]
Remove unnecessary boundary checks
Thomas Punt [Fri, 15 Apr 2016 22:13:50 +0000 (23:13 +0100)]
Resolve bug #72017
Xinchen Hui [Mon, 16 May 2016 13:24:34 +0000 (06:24 -0700)]
Merge branch 'PHP-7.0'
Xinchen Hui [Mon, 16 May 2016 13:23:55 +0000 (06:23 -0700)]
Revert "Revert the ABI break commit"
This reverts commit
07220f615b432837e158820fa08206fcc78c93e2 .
Xinchen Hui [Mon, 16 May 2016 13:22:49 +0000 (06:22 -0700)]
Merge branch 'PHP-7.0'
Xinchen Hui [Mon, 16 May 2016 13:21:11 +0000 (06:21 -0700)]
Revert "Revert "fix #72143 (preg_replace uses int instead of size_t on zend_string_allocs)""
obviously I read the change is in argument lists by mistake :<
This reverts commit
9e7afa75140afd047cb95280a610cff9368a7517 .
Dmitry Stogov [Mon, 16 May 2016 09:42:13 +0000 (12:42 +0300)]
Check if generator object is created by GENERATOR_CREATE when throw exceptions from generator function
Dmitry Stogov [Mon, 16 May 2016 09:41:24 +0000 (12:41 +0300)]
Extend CAL_FLAGS from 8-bit to 16-bit
Dmitry Stogov [Mon, 16 May 2016 08:51:29 +0000 (11:51 +0300)]
Revert "Check if generator object is created by GENERATOR_CREATE when throw exceptions from generator function."
This reverts commit
a9b517c6143a8fab3f704448022e7381b02090ba .
Dmitry Stogov [Mon, 16 May 2016 07:24:13 +0000 (10:24 +0300)]
Check if generator object is created by GENERATOR_CREATE when throw exceptions from generator function.
Xinchen Hui [Mon, 16 May 2016 06:49:22 +0000 (14:49 +0800)]
Merge branch 'PHP-7.0'
* PHP-7.0:
Correct name, it was typed in habitually
Xinchen Hui [Mon, 16 May 2016 06:48:13 +0000 (14:48 +0800)]
Correct name, it was typed in habitually
Stanislav Malyshev [Mon, 16 May 2016 06:26:51 +0000 (23:26 -0700)]
Fix bug #72135 - don't create strings with lengths outside int range
Xinchen Hui [Mon, 16 May 2016 03:25:16 +0000 (11:25 +0800)]
Merge branch 'PHP-7.0'
* PHP-7.0:
Revert the ABI break commit
Revert "fix #72143 (preg_replace uses int instead of size_t on zend_string_allocs)"
Xinchen Hui [Mon, 16 May 2016 03:24:39 +0000 (11:24 +0800)]
Revert the ABI break commit
Xinchen Hui [Mon, 16 May 2016 03:24:16 +0000 (11:24 +0800)]
Revert "fix #72143 (preg_replace uses int instead of size_t on zend_string_allocs)"
ABI break
This reverts commit
fb951553be0175712f4b757e05004110d7421e04 .
Xinchen Hui [Mon, 16 May 2016 03:21:39 +0000 (11:21 +0800)]
Merge branch 'PHP-7.0'
* PHP-7.0:
Fixed bug #72218 (If host name cannot be resolved then PHP 7 crashes)
fix #72143 (preg_replace uses int instead of size_t on zend_string_allocs)
fix #72206 (xml_parser_create/xml_parser_free leaks mem)
improve
7132fe19c29c512d00a3afe101212ba15fa1f99e
fix
1bb8a7b0b895af4a9e6b24101fe8fab5af64f86c
fix #72180 (Env variables incorrectly pretty printed in config.nice, phpinfo)
Conflicts:
acinclude.m4
Xinchen Hui [Mon, 16 May 2016 03:19:45 +0000 (11:19 +0800)]
Fixed bug #72218 (If host name cannot be resolved then PHP 7 crashes)
Jakub Zelenka [Sun, 15 May 2016 13:15:04 +0000 (14:15 +0100)]
Update NEWS with info about JSON parser method
Jakub Zelenka [Sun, 15 May 2016 12:50:23 +0000 (13:50 +0100)]
Merge branch 'json_parser_method'
Anatol Belski [Sat, 14 May 2016 21:48:04 +0000 (23:48 +0200)]
fix dir separator
Nikita Popov [Sat, 14 May 2016 14:49:52 +0000 (16:49 +0200)]
Inference: $a[]= results in long keys
Nikita Popov [Sat, 14 May 2016 11:54:41 +0000 (13:54 +0200)]
Inference: Fix undef handling for binary ops
We need to be careful about correctly handling that undef results
in a null value. Otherwise, apart from simply generating incorrect
results, we may also end up performing non-monotonic lattice
transitions, thus causing an infinite type inference loop (see
test).
Nikita Popov [Sat, 14 May 2016 11:44:04 +0000 (13:44 +0200)]
Inference: Use common handling for compound assign ops
Extract the inference code for binary operators and then handle all
ASSIGN_* opcodes the same way.
Nikita Popov [Sat, 14 May 2016 11:23:29 +0000 (13:23 +0200)]
Add COPY_SSA_OBJ_TYPE macro
Use it consistently in the ASSIGN_* implementations, previously
it was only present in ASSIGN_ADD.
Nikita Popov [Sat, 14 May 2016 11:03:25 +0000 (13:03 +0200)]
Fix & improve assign_dim inference
Extract a helper function for handling ASSIGN_DIM and ASSIGN_*
with ASSIGN_DIM ev uniformly. Previously the code was copy pasted
for each ASSIGN_* op, but the variable names were not correctly
adjusted (tmp vs orig), so the type inference result was wrong.
Also sligthly improve handling:
* Result cannot be false, will always be converted to array.
* If the dim is a CONST string operand, we don't have to assume
numeric strings.
* If the inserted value may be undef, the array may contain null.
Joe Watkins [Sat, 14 May 2016 07:20:41 +0000 (08:20 +0100)]
fix #72143 (preg_replace uses int instead of size_t on zend_string_allocs)
Joe Watkins [Sat, 14 May 2016 07:20:41 +0000 (08:20 +0100)]
fix #72143 (preg_replace uses int instead of size_t on zend_string_allocs)
Joe Watkins [Sat, 14 May 2016 07:10:16 +0000 (08:10 +0100)]
fix #72206 (xml_parser_create/xml_parser_free leaks mem)
Joe Watkins [Sat, 14 May 2016 07:10:16 +0000 (08:10 +0100)]
fix #72206 (xml_parser_create/xml_parser_free leaks mem)
Joe Watkins [Sat, 14 May 2016 05:28:11 +0000 (06:28 +0100)]
fix #72209 (ReflectionProperty::getValue() doesn't fail if object doesn't match type)
Sara Golemon [Sat, 14 May 2016 03:47:54 +0000 (03:47 +0000)]
Implement FIPS 180-4 algos: sha512/256 and sha512/224
These algorithms are simple extensions to the existing sha512 algo
using different initialization vectors and producing truncated output.
Sara Golemon [Sat, 14 May 2016 04:31:39 +0000 (04:31 +0000)]
Check in generated lexer
This should have been included with my previous diff implementing octal overflow warning.
Ooops.
Sara Golemon [Fri, 29 Apr 2016 21:05:06 +0000 (21:05 +0000)]
Raise compiler warning on octal overflow
Addresses https://bugs.php.net/bug.php?id=71994
Joe Watkins [Fri, 13 May 2016 11:47:36 +0000 (12:47 +0100)]
Dmitry Stogov [Fri, 13 May 2016 11:46:43 +0000 (14:46 +0300)]
Added news entries
Dmitry Stogov [Fri, 13 May 2016 11:38:43 +0000 (14:38 +0300)]
Fixed bug #72188 (Nested try/finally blocks losing return value)
Dmitry Stogov [Fri, 13 May 2016 08:55:09 +0000 (11:55 +0300)]
Fixed bug #72177 (Scope issue in __destruct after ReflectionProperty::setValue())
Joe Watkins [Fri, 13 May 2016 08:25:15 +0000 (09:25 +0100)]
Joe Watkins [Fri, 13 May 2016 08:21:28 +0000 (09:21 +0100)]
Joe Watkins [Fri, 13 May 2016 06:43:49 +0000 (07:43 +0100)]
fix #72180 (Env variables incorrectly pretty printed in config.nice, phpinfo)
Joe Watkins [Fri, 13 May 2016 06:41:11 +0000 (07:41 +0100)]
fix #72180 (Env variables incorrectly pretty printed in config.nice, phpinfo)
Dmitry Stogov [Thu, 12 May 2016 22:40:15 +0000 (01:40 +0300)]
Eliminated checks for (func->op_array.fn_flags & ZEND_ACC_GENERATOR) in fast path of DO_FCALL* handlers.
This slightly improves calls to regular function and method calls in cost of a bit slower generator initialization.
Separate call frame for generators, allocated on heap, now created by ZEND_GENERATOR_CREATE instruction.
Nikita Popov [Thu, 12 May 2016 19:57:19 +0000 (21:57 +0200)]
Fix phi placement for pi targets
If the pi target has multiple predecessors, we need to place a
phi there. However it's not possible to express this in terms of
dominance frontiers, so we need to explicitly add it to the phi
set.
This does not yet solve the problem of non-minimal SSA for the
case where the target has multiple predecessors, but dominates
all predecessors (apart from the one creating the pi) -- but
that's an existing issue.
Nikita Popov [Thu, 12 May 2016 19:41:24 +0000 (21:41 +0200)]
Explicitly construct phi set during def propagation
Previously the phi set was first computed during def propagation
and then computed again (per-block) during actual phi placement.
This commit changes this to store the phi set computed during
def propagation.
This makes SSA construction slightly faster (5%), but the main
purpose here is to pave the way for the next commit.
This also fixes a potential issue with the handling of irreducible
loops -- they generated additional phis, but these were not
accounted for in def propagation. (Though I'm not sure if we can
even have any irreducible loops right now.)
Anatol Belski [Thu, 12 May 2016 18:38:02 +0000 (20:38 +0200)]
Merge branch 'PHP-7.0'
* PHP-7.0:
fix dir separator in test
Anatol Belski [Thu, 12 May 2016 18:37:04 +0000 (20:37 +0200)]
fix dir separator in test
Dmitry Stogov [Thu, 12 May 2016 13:46:37 +0000 (16:46 +0300)]
Removed useless code
Anatol Belski [Thu, 12 May 2016 11:39:39 +0000 (13:39 +0200)]
Merge branch 'PHP-7.0'
* PHP-7.0:
update NEWS
Anatol Belski [Thu, 12 May 2016 11:39:15 +0000 (13:39 +0200)]
update NEWS
Anatol Belski [Thu, 12 May 2016 10:49:31 +0000 (12:49 +0200)]
Merge branch 'PHP-7.0'
* PHP-7.0:
workaround the extra new line in the test out on another env
Dmitry Stogov [Thu, 12 May 2016 10:47:22 +0000 (13:47 +0300)]
Intern some known (and offten used) strings.
Anatol Belski [Thu, 12 May 2016 10:45:04 +0000 (12:45 +0200)]
workaround the extra new line in the test out on another env
Anatol Belski [Thu, 12 May 2016 09:41:18 +0000 (11:41 +0200)]
Merge branch 'PHP-7.0'
* PHP-7.0:
Fixed bug #72197 pg_lo_create arbitrary read
Anatol Belski [Thu, 12 May 2016 09:40:28 +0000 (11:40 +0200)]
Fixed bug #72197 pg_lo_create arbitrary read
Xinchen Hui [Thu, 12 May 2016 05:48:52 +0000 (13:48 +0800)]
Merge branch 'PHP-7.0'
* PHP-7.0:
Added NEWS entry missed while doing merge
Xinchen Hui [Thu, 12 May 2016 05:48:24 +0000 (13:48 +0800)]
Added NEWS entry missed while doing merge