]>
granicus.if.org Git - php/log
Nikita Popov [Tue, 7 Jul 2020 14:30:08 +0000 (16:30 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fixed bug #79793
Nikita Popov [Tue, 7 Jul 2020 14:24:13 +0000 (16:24 +0200)]
Fixed bug #79793
Make sure the string key is not released while throwing the
undefined index warning.
Nikita Popov [Tue, 7 Jul 2020 14:00:50 +0000 (16:00 +0200)]
Fixed bug #79791
First throw the undefined variable warning, and then set the
variable to null. Otherwise we're not guaranteed that it's
actually null afterwards.
Nikita Popov [Tue, 7 Jul 2020 13:30:43 +0000 (15:30 +0200)]
Handle dim_w undefined variable notice in JIT as well
Nikita Popov [Tue, 7 Jul 2020 13:22:46 +0000 (15:22 +0200)]
Check for undef variable exception in SEND_VAR JIT
Add a return value to zend_jit_undefined_op_helper(), so we can
check for exception based on the return value, instead of fetching
EG(exception).
Nikita Popov [Tue, 7 Jul 2020 13:09:12 +0000 (15:09 +0200)]
JIT support for undefined index/offset handling
Nikita Popov [Tue, 7 Jul 2020 12:24:39 +0000 (14:24 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fixed bug #79784
Nikita Popov [Tue, 7 Jul 2020 12:22:58 +0000 (14:22 +0200)]
Fixed bug #79784
The fix here is essentially the same as for bug #78598, just for
the undefined variable notice, rather than the undefined index one.
Christoph M. Becker [Tue, 7 Jul 2020 11:57:46 +0000 (13:57 +0200)]
[ci skip] Merge branch 'PHP-7.4'
* PHP-7.4:
Don't use deprecated curly brace offset syntax
Christoph M. Becker [Tue, 7 Jul 2020 11:56:22 +0000 (13:56 +0200)]
[ci skip] Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Don't use deprecated curly brace offset syntax
Christoph M. Becker [Tue, 7 Jul 2020 11:21:26 +0000 (13:21 +0200)]
Don't use deprecated curly brace offset syntax
(cherry picked from commit
7ec3aa1871074f5de25865af42c984a7668eb85f )
Better safe than sorry in case someone ever builds PHP 7.3 with a
future version of PHP SDK with bundled PHP 8.
Christoph M. Becker [Tue, 7 Jul 2020 11:26:42 +0000 (13:26 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Don't use deprecated curly brace offset syntax
Christoph M. Becker [Tue, 7 Jul 2020 11:21:26 +0000 (13:21 +0200)]
Don't use deprecated curly brace offset syntax
Nikita Popov [Tue, 7 Jul 2020 10:17:11 +0000 (12:17 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fixed bug #78598
Nikita Popov [Tue, 4 Feb 2020 13:19:07 +0000 (14:19 +0100)]
Fixed bug #78598
When performing an RW modification of an array offset, the undefined
offset warning may call an error handler / OB callback, which may
destroy the array we're supposed to change. Detect this by temporarily
incrementing the reference count. If we find that the array has been
modified/destroyed in the meantime, we do nothing -- the execution
model here would be that the modification has happened on the destroyed
version of the array.
Nikita Popov [Tue, 7 Jul 2020 09:59:56 +0000 (11:59 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fixed bug #79792
Nikita Popov [Tue, 7 Jul 2020 09:59:20 +0000 (11:59 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fixed bug #79792
Nikita Popov [Tue, 7 Jul 2020 09:57:01 +0000 (11:57 +0200)]
Fixed bug #79792
We need to remove the iterators even if the array is empty (we
will not create one if the first place, but the array may become
empty after the fact).
Nikita Popov [Tue, 7 Jul 2020 09:34:43 +0000 (11:34 +0200)]
Assert no exception if using NEXT_OPCODE()
When NEXT_OPCODE() is used instead of NEXT_OPCODE_CHECK_EXCEPTION(),
assert that there is indeed no exception.
Nikita Popov [Tue, 7 Jul 2020 09:31:05 +0000 (11:31 +0200)]
Assert exception set in HANDLE_EXCEPTION()
Some code paths were checking this manually, but we can turn this
into a general assertion to avoid surprises (functions returning
failure without throwing).
Nikita Popov [Tue, 7 Jul 2020 09:25:28 +0000 (11:25 +0200)]
Remove #undefs from vm_gen
Possibly these were needed for VM_EXPORT, but they don't serve a
purpose now.
Nikita Popov [Tue, 7 Jul 2020 09:23:28 +0000 (11:23 +0200)]
Remove ZEND_VM_EXPORT functionality
This hasn't been used since forever and makes things more confusing
than they already are.
Nikita Popov [Tue, 7 Jul 2020 08:56:55 +0000 (10:56 +0200)]
Fixed bug #79790
I haven't tracked down in detail where the interaction with
increment_function comes from, but the root problem here is failure
to handle the illegal offset type exception.
Nikita Popov [Tue, 7 Jul 2020 08:27:53 +0000 (10:27 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fixed bug #79779
Nikita Popov [Tue, 7 Jul 2020 08:27:22 +0000 (10:27 +0200)]
Fixed bug #79779
ASSIGN_OBJ_REF was not handling in zend_wrong_string_offset.
Nikita Popov [Tue, 7 Jul 2020 08:20:31 +0000 (10:20 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fixed bug #79778
Nikita Popov [Tue, 7 Jul 2020 08:20:11 +0000 (10:20 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fixed bug #79778
Nikita Popov [Tue, 7 Jul 2020 08:11:34 +0000 (10:11 +0200)]
Fixed bug #79778
In the interest of avoiding side-effects during dumping, I'm
replacing the value with a <constant ast> string instead of
performing an update constant operation.
Nikita Popov [Tue, 7 Jul 2020 07:57:07 +0000 (09:57 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fixed bug #79783
Nikita Popov [Tue, 7 Jul 2020 07:55:28 +0000 (09:55 +0200)]
Fixed bug #79783
Make sure we don't drop the by-reference check when passing the
result of a VM builtin function.
Nikita Popov [Tue, 7 Jul 2020 07:30:24 +0000 (09:30 +0200)]
Remove no_separation flag
Nikita Popov [Tue, 7 Jul 2020 07:29:21 +0000 (09:29 +0200)]
Explicitly create references in UConverter callbacks
And don't allow separation.
Nikita Popov [Tue, 7 Jul 2020 07:23:05 +0000 (09:23 +0200)]
Fixup test
Nikita Popov [Tue, 7 Jul 2020 07:08:56 +0000 (09:08 +0200)]
Don't allow separation in array functions
The only case here that might be *somewhat* sensible is the userdata
argument of array_walk(), which could be used to keep persistent state
between callback invokations -- with the WTF moment that the final
result after the walk finishes will be unchanged. Nowdays, this is
much better achieved using a closure with a use-by-reference.
Nikita Popov [Tue, 7 Jul 2020 07:04:20 +0000 (09:04 +0200)]
Don't allow separation in CallbackFilterIterator
As the name might suggest, this is a *filter* iterator. If you want
to have a *map* iterator, write one, or use a generator.
Nikita Popov [Tue, 7 Jul 2020 06:59:19 +0000 (08:59 +0200)]
Disallow separation in a number of callbacks
All of these clearly do not need separation support.
Nikita Popov [Tue, 7 Jul 2020 06:57:05 +0000 (08:57 +0200)]
Don't allow separation in callback filter
This causes some tests to fail. Those tests are specifically about
the callback not being able to modify the data though, so this is
clearly not supposed to be a supported use-case.
Gabriel Caruso [Tue, 7 Jul 2020 02:32:35 +0000 (02:32 +0000)]
Update NEWS for 8.0.0alpha3
Gabriel Caruso [Tue, 7 Jul 2020 02:23:24 +0000 (02:23 +0000)]
Update NEWS for PHP 8.0.0alpha2
George Peter Banyard [Mon, 6 Jul 2020 17:04:52 +0000 (19:04 +0200)]
Refactor levenshtein()
Closes GH-5816
Máté Kocsis [Mon, 6 Jul 2020 19:23:35 +0000 (21:23 +0200)]
Fix a few comments
Max Semenik [Wed, 1 Jul 2020 13:32:55 +0000 (16:32 +0300)]
Remove proto comments from C files
Closes GH-5758
Max Semenik [Sun, 28 Jun 2020 08:44:54 +0000 (11:44 +0300)]
Remove requirements for proto comments from CODING_STANDARDS
They've been made obsolete by .stub.php files and are often
outdated as they're not the source of truth.
Nikita Popov [Mon, 6 Jul 2020 16:57:41 +0000 (18:57 +0200)]
Avoid some unnecessary uses of no_separation=0
For the rare cases where references are part of the API,
construct them explicitly. Otherwise do not allow separation.
moliata [Mon, 6 Jul 2020 16:23:27 +0000 (19:23 +0300)]
refactor: class constants parsing
As part of my work on typed class constants, I wanted to make a
separate pull request for unrelated changes.
These include:
* Moving from ast->child[0]->attr to ast->attr
* Making zend_ast_export_ex() export class constants' visibility
* Extracting an additional zend_compile_class_const_group() function
Closes GH-5812.
Dmitry Stogov [Mon, 6 Jul 2020 14:55:23 +0000 (17:55 +0300)]
More accurate reference-counter inference
Dmitry Stogov [Mon, 6 Jul 2020 12:53:28 +0000 (15:53 +0300)]
More accurate reference-counter inference
Tiffany [Fri, 3 Jul 2020 14:53:29 +0000 (09:53 -0500)]
[skip-ci] Add README for ext/mysqli tests
Closes GH-5804
Máté Kocsis [Tue, 30 Jun 2020 13:04:54 +0000 (15:04 +0200)]
Add string or object ZPP macros
Closes GH-5788
Nikita Popov [Mon, 6 Jul 2020 09:53:57 +0000 (11:53 +0200)]
ReflectionMethod::invoke() object is not optional
Nikita Popov [Mon, 6 Jul 2020 09:49:56 +0000 (11:49 +0200)]
Correctly determine arg name of USER_ARG_INFO functions
Remi Collet [Mon, 6 Jul 2020 08:57:55 +0000 (10:57 +0200)]
[skip ci] add upgrade note
Closes GH-5798
Christoph M. Becker [Fri, 3 Jul 2020 13:15:15 +0000 (15:15 +0200)]
define build system and provider on Windows
Remi Collet [Fri, 3 Jul 2020 08:08:09 +0000 (10:08 +0200)]
display info about system used to build and its provider
Christoph M. Becker [Mon, 6 Jul 2020 08:42:54 +0000 (10:42 +0200)]
Fix sapi_windows_vt100_support() arginfo
Nikita Popov [Mon, 6 Jul 2020 08:37:46 +0000 (10:37 +0200)]
Reuse warning function
Jens de Nies [Wed, 10 Jun 2020 21:37:14 +0000 (23:37 +0200)]
Added stubs for ext/oci8
Closes GH-5701
Nikita Popov [Sat, 4 Jul 2020 07:59:42 +0000 (09:59 +0200)]
Fixed bug #79777
Nikita Popov [Fri, 3 Jul 2020 15:00:58 +0000 (17:00 +0200)]
Use zend_string_equals API in a couple places
Dmitry Stogov [Fri, 3 Jul 2020 10:40:11 +0000 (13:40 +0300)]
Removed already implemented TODO comment
Christoph M. Becker [Fri, 3 Jul 2020 08:39:00 +0000 (10:39 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix tests for x86 Windows
Christoph M. Becker [Fri, 3 Jul 2020 08:31:17 +0000 (10:31 +0200)]
Fix tests for x86 Windows
`st_dev` deliberately overflows on such systems, cf.
<http://svn.php.net/viewvc?view=revision&revision=350100>.
Dmitry Stogov [Fri, 3 Jul 2020 07:52:03 +0000 (10:52 +0300)]
Fixed IS_UNDEF handling
Christoph M. Becker [Fri, 3 Jul 2020 07:10:37 +0000 (09:10 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Skip test if SeCreateSymbolicLinkPrivilege is not given
Christoph M. Becker [Fri, 3 Jul 2020 07:02:55 +0000 (09:02 +0200)]
Skip test if SeCreateSymbolicLinkPrivilege is not given
Dmitry Stogov [Thu, 2 Jul 2020 21:14:09 +0000 (00:14 +0300)]
Fixed IS_INDIRECT handling
Dmitry Stogov [Thu, 2 Jul 2020 20:41:15 +0000 (23:41 +0300)]
Better instruction selection
Christoph M. Becker [Thu, 2 Jul 2020 16:29:39 +0000 (18:29 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Enable readlink_realpath_* tests on Windows
Christoph M. Becker [Thu, 2 Jul 2020 14:36:16 +0000 (16:36 +0200)]
Enable readlink_realpath_* tests on Windows
We modify _basic1.phpt so it runs on Windows as well. The other test
cases hit the issue that `readlink()` fails normally for regular files,
but succeeds on Windows[1]. Therefore, we split these tests, but still
fix the skip reasons.
[1] <http://svn.php.net/viewvc?view=revision&revision=350097>
Nikita Popov [Thu, 2 Jul 2020 15:23:44 +0000 (17:23 +0200)]
Fix func info for get_class_methods()
Dmitry Stogov [Thu, 2 Jul 2020 14:42:15 +0000 (17:42 +0300)]
JMP optimization
Christoph M. Becker [Thu, 2 Jul 2020 13:36:43 +0000 (15:36 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Enable most lstat_stat_* tests on Windows
Christoph M. Becker [Thu, 2 Jul 2020 11:17:57 +0000 (13:17 +0200)]
Enable most lstat_stat_* tests on Windows
Most of these have been skipped on Windows for no good reason (`lstat`
is available there as of PHP 4). Several others would only fail,
because the `blksize` and `blocks` elements are always `-1` on Windows,
which can easily be fixed by using `%i` format specifiers instead of
`%d`.
Christoph M. Becker [Thu, 2 Jul 2020 13:33:02 +0000 (15:33 +0200)]
[ci skip] Merge branch 'PHP-7.4'
* PHP-7.4:
Update php_version.h
Christoph M. Becker [Thu, 2 Jul 2020 13:30:13 +0000 (15:30 +0200)]
Update php_version.h
That has apparently been overlooked.
Nikita Popov [Thu, 2 Jul 2020 13:27:45 +0000 (15:27 +0200)]
Treat attribute argument lists like normal argument lists
Allow trailing comma. Syntactically allow unpacking, but forbid it
during compilation.
The trailing comma test-case is adopted from GH-5796.
Máté Kocsis [Thu, 2 Jul 2020 12:46:06 +0000 (14:46 +0200)]
Add support for forcing regeneration of arginfo files
Closes GH-5795
Dmitry Stogov [Thu, 2 Jul 2020 11:43:17 +0000 (14:43 +0300)]
Load constant value only if necessary
Christoph M. Becker [Thu, 2 Jul 2020 10:24:49 +0000 (12:24 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Extract test helper function for SeCreateSymbolicLinkPrivilege check
Christoph M. Becker [Thu, 2 Jul 2020 09:56:41 +0000 (11:56 +0200)]
Extract test helper function for SeCreateSymbolicLinkPrivilege check
Christoph M. Becker [Thu, 2 Jul 2020 08:24:58 +0000 (10:24 +0200)]
Update to PCRE2 10.35
We also port a fix for the build system regarding the `-fcf-protection`
gcc flag; cf. <https://bugs.exim.org/show_bug.cgi?id=2578>.
Nikita Popov [Thu, 2 Jul 2020 09:51:51 +0000 (11:51 +0200)]
Remove leftover debug comment
Nikita Popov [Thu, 2 Jul 2020 09:44:34 +0000 (11:44 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Handle SO_ options only at SOL_SOCKET level
Allow different error message for errno 58
Dmitry Stogov [Thu, 2 Jul 2020 09:42:09 +0000 (12:42 +0300)]
Eliminate useless exception checks
Nikita Popov [Thu, 2 Jul 2020 08:50:27 +0000 (10:50 +0200)]
Handle SO_ options only at SOL_SOCKET level
These options may have the same value as options at other levels.
This issue showed up on ppc64el.
codinghuang [Wed, 1 Jul 2020 14:49:57 +0000 (22:49 +0800)]
Use correct ZPP mechanism in get_class_methods()
From now on, instead of returning null, an exception is thrown when
not a string or an object is passed to the function.
Closes GH-5792
Nikita Popov [Wed, 1 Jul 2020 15:19:32 +0000 (17:19 +0200)]
Allow different error message for errno 58
Apparently this is EDEADLOCK on some systems.
Nikita Popov [Thu, 2 Jul 2020 09:37:09 +0000 (11:37 +0200)]
Skip enchant test under asan
There is a known memory leak here:
https://bugs.launchpad.net/ubuntu/+source/enchant/+bug/305468
Nikita Popov [Thu, 2 Jul 2020 08:36:57 +0000 (10:36 +0200)]
Check that "tokenizer" extension is available in gen_stub.php
Nikita Popov [Wed, 1 Jul 2020 10:03:13 +0000 (12:03 +0200)]
Add iterator get_gc function for generators
Closes GH-5787.
Nikita Popov [Wed, 1 Jul 2020 09:49:44 +0000 (11:49 +0200)]
Add get_gc handle for object iterators
Optional handler with the same semantics as the object handler.
Christoph M. Becker [Wed, 1 Jul 2020 10:04:54 +0000 (12:04 +0200)]
[ci skip] (Hopefully) clarify meaning
Christoph M. Becker [Wed, 1 Jul 2020 08:11:58 +0000 (10:11 +0200)]
Document zend_hash_sort and zend_ts_hash_sort signature change
Cf. <https://github.com/php/php-src/pull/3936>.
Paweł Tomulik [Tue, 30 Jun 2020 14:12:12 +0000 (16:12 +0200)]
Add ldap_count_references()
Closes GH-5784
Fabien Villepinte [Wed, 1 Jul 2020 07:08:28 +0000 (09:08 +0200)]
Fix typos in comments
Christoph M. Becker [Tue, 30 Jun 2020 07:20:06 +0000 (09:20 +0200)]
Replace ISO_8859-* with ISO8859-* aliases for MBString
We also remove the mbregex ISO 8859 aliases with underscores.
Nikita Popov [Tue, 30 Jun 2020 16:26:29 +0000 (18:26 +0200)]
Remove generator iterator member
This is probably a leftover from the PHP 5 implementation, where
the iterator was embedded directly in the generator.
Nikita Popov [Tue, 30 Jun 2020 16:24:48 +0000 (18:24 +0200)]
Revert "Update to PCRE2 10.35"
This reverts commit
b419f96c626d1f9cbbba42698e947e32a0af9c4f .
This breaks the GCC build with -fcf-protection (default on Ubuntu
at least).
Nikita Popov [Tue, 30 Jun 2020 15:33:51 +0000 (17:33 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Remove bogus generator iterator dtor
Nikita Popov [Tue, 30 Jun 2020 15:33:33 +0000 (17:33 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Remove bogus generator iterator dtor