]>
granicus.if.org Git - php/log
Nikita Popov [Tue, 21 Apr 2020 16:24:03 +0000 (18:24 +0200)]
Remove redundant vfprintf/vsprintf variation tests
These duplicate vprintf() variation tests. While it's useful to
test the vfprintf() and vsprintf() variants of the function, the
main formatting machinery is shared between them, and it makes
little sense to repeat the full set of format tests for all of
them.
Nikita Popov [Tue, 21 Apr 2020 15:00:12 +0000 (17:00 +0200)]
Fix number of required parameters in printf
If n$ references are involved, the maximum argnum referenced may
not the one at the end. Store it explicitly.
Dmitry Stogov [Tue, 21 Apr 2020 14:34:31 +0000 (17:34 +0300)]
Reuse registers allocated for parent trace in side traces
Dmitry Stogov [Tue, 21 Apr 2020 11:56:56 +0000 (14:56 +0300)]
Register allocation is useless if JIT just calls standarad VM handlers
Nikita Popov [Tue, 21 Apr 2020 10:23:21 +0000 (12:23 +0200)]
Generate zend_builtin_functions FEs from stubs
Dmitry Stogov [Tue, 21 Apr 2020 09:07:36 +0000 (12:07 +0300)]
Removed old TODO
Nikita Popov [Tue, 28 Jan 2020 11:20:00 +0000 (12:20 +0100)]
Add crude memory limit to tracked alloc
Check whether the requested allocation size exceeds limit (rather
than the cumulative size).
This is useful to prevent allocations triggering OOM during fuzzing.
Nikita Popov [Tue, 21 Apr 2020 08:17:19 +0000 (10:17 +0200)]
Make gen_stub parallelism safe
If PHP-Parser is not yet installed, make sure we don't try to
install it N times in parallel.
Symeon Charalabides [Mon, 20 Apr 2020 23:44:57 +0000 (01:44 +0200)]
Ensure hash_update_stream() always returns the same hash when $length = 0
Christoph M. Becker [Mon, 20 Apr 2020 15:39:28 +0000 (17:39 +0200)]
Fix OPcache build
`||` at the beginning of a line has special meaning for the DynAsm
preprocessor.
Christoph M. Becker [Mon, 20 Apr 2020 11:27:35 +0000 (13:27 +0200)]
Fix #71417: fread() does not report zlib.inflate errors
If the zlib.inflate filter fails to decompress the stream, we raise a
notice instead of failing silently.
Nikita Popov [Wed, 15 Apr 2020 09:51:06 +0000 (11:51 +0200)]
Remove support for EBCDIC
Closes GH-5390.
Nikita Popov [Mon, 20 Apr 2020 14:37:19 +0000 (16:37 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Don't rand() in test
Nikita Popov [Mon, 20 Apr 2020 14:35:52 +0000 (16:35 +0200)]
Don't rand() in test
Instead use port 0 to get a free port from the OS.
Dmitry Stogov [Mon, 20 Apr 2020 13:02:03 +0000 (16:02 +0300)]
Register allocator and deoptimizer for tracing JIT.
Christoph M. Becker [Fri, 17 Apr 2020 13:48:20 +0000 (15:48 +0200)]
Fix #71263: fread() does not report bzip2.decompress errors
If the bzip2.decompress filter fails to decompress the stream, we raise
a notice instead of failing silently.
Máté Kocsis [Thu, 16 Apr 2020 22:09:15 +0000 (00:09 +0200)]
Improve a last couple of argument error messages
Closes GH-5404
Nikita Popov [Mon, 20 Apr 2020 10:07:59 +0000 (12:07 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix file name clash in touch_variation1.phpt
Nikita Popov [Mon, 20 Apr 2020 10:07:46 +0000 (12:07 +0200)]
Fix file name clash in touch_variation1.phpt
Nikita Popov [Mon, 20 Apr 2020 09:55:56 +0000 (11:55 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix bug #67369 ArrayObject serializatino drops the iterator class
Alex Dowad [Wed, 15 Apr 2020 13:25:14 +0000 (15:25 +0200)]
Fix bug #67369 ArrayObject serializatino drops the iterator class
When ArrayObject is round-tripped through serialize() and unserialize(),
it forgets any iterator class name which was set using ::setIteratorClass().
Fix that.
Christoph M. Becker [Mon, 20 Apr 2020 09:00:01 +0000 (11:00 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #79491: Search for .user.ini extends up to root dir
Christoph M. Becker [Mon, 20 Apr 2020 08:58:03 +0000 (10:58 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #79491: Search for .user.ini extends up to root dir
Christoph M. Becker [Sun, 19 Apr 2020 12:22:24 +0000 (14:22 +0200)]
Fix #79491: Search for .user.ini extends up to root dir
The `start` parameter of `php_cgi_ini_activate_user_config` is supposed
to hold the byte offset of the doc root in the given `path`. However,
the current expression which fixes a potential type incompatibility
will ever only evaluate to zero or one, because it uses the *logical*
and operator (`&&`). Furthermore we notice that subtracting one from
`doc_root_len` is not necessary, so there is even no need for the
`start` parameter at all.
Nikita Popov [Mon, 20 Apr 2020 08:48:20 +0000 (10:48 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Apply doc root fix for FPM
Nikita Popov [Mon, 20 Apr 2020 08:48:05 +0000 (10:48 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Apply doc root fix for FPM
Nikita Popov [Mon, 20 Apr 2020 08:46:20 +0000 (10:46 +0200)]
Apply doc root fix for FPM
This is the change from GH-5417 but for FPM. This was stripping the
last character from the doc_root. Given how it is used, this should
be harmless, but let's make it less confusing...
Máté Kocsis [Sun, 19 Apr 2020 21:05:02 +0000 (23:05 +0200)]
Fix order of ZPP in ext/sqlite3
Máté Kocsis [Sun, 19 Apr 2020 18:05:16 +0000 (20:05 +0200)]
Generate function entries from stubs
Converts ext/pcntl, ext/simplexml, ext/snmp, ext/soap, ext/sqlite3.
Closes GH-5421
Nikita Popov [Mon, 20 Apr 2020 08:26:45 +0000 (10:26 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #79497: Fix php_openssl_subtract_timeval()
Nikita Popov [Mon, 20 Apr 2020 08:26:11 +0000 (10:26 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #79497: Fix php_openssl_subtract_timeval()
Joe Cai [Sun, 19 Apr 2020 23:03:11 +0000 (09:03 +1000)]
Fix #79497: Fix php_openssl_subtract_timeval()
I stumbled upon this while debugging a strange issue with
stream_socket_client() where it randomly throws out errors when
the connection timeout is set to below 1s. The logic to calculate
time difference in php_openssl_subtract_timeval() is wrong when
a.tv_usec < b.tv_usec, causing connection errors before the timeout
is reached.
Tyson Andre [Sun, 19 Apr 2020 15:53:36 +0000 (11:53 -0400)]
Speed up ZEND_SWITCH_STRING/ZEND_SWITCH_LONG for wrong type
This has the minor benefit of avoiding loading the address of the
jump table when the expression for the switch isn't a string/long.
gcc doesn't seem to optimize that.
The previous function body is the original implementation:
ad8652818a5
```
// Before: 0.267s, after: 0.265s
function test_switch($x) {
for ($i = 0; $i <
10000000 ; $i++) {
switch ($x) {
case 'a':
case 'b':
echo "i=$i\n";
}
}
}
test_switch(null);
```
Closes GH-5419
Máté Kocsis [Sun, 19 Apr 2020 16:34:37 +0000 (18:34 +0200)]
Generate function entries from stubs for mysqli
Closes GH-5420
Tyson Andre [Sat, 18 Apr 2020 16:12:35 +0000 (12:12 -0400)]
[skip ci] Fix typos in jit code comments
And in Opcache's zend_cfg.h
Closes GH-5414
George Peter Banyard [Sun, 19 Apr 2020 13:53:06 +0000 (15:53 +0200)]
[skip ci] Fix comment in Tidy autoconf file
Benjamin Eberlei [Wed, 15 Apr 2020 13:58:03 +0000 (15:58 +0200)]
Enhance test failure SH script to allow gdb, valgrind, rr as alternative modes.
George Peter Banyard [Tue, 14 Apr 2020 21:39:23 +0000 (23:39 +0200)]
Fix [-Wjump-misses-init] in generated zend_opcode.c
George Peter Banyard [Wed, 15 Apr 2020 00:20:13 +0000 (02:20 +0200)]
Fix [-Wjump-misses-init] warning in MySQL new driver extension
George Peter Banyard [Tue, 14 Apr 2020 23:28:19 +0000 (01:28 +0200)]
Fix [-Wjump-misses-init] in spl_directory.c by adding an inner scope
George Peter Banyard [Tue, 14 Apr 2020 23:26:24 +0000 (01:26 +0200)]
Fix [-Wjump-misses-init] in sockets extension
George Peter Banyard [Tue, 14 Apr 2020 23:22:10 +0000 (01:22 +0200)]
Fix [-Wjump-misses-init] in php_mbregex.c by adding an inner scope
Nikita Popov [Fri, 17 Apr 2020 13:31:57 +0000 (15:31 +0200)]
Remove ZEND_ACC_DTOR flag
This is only used in reflection, where doing a simple string check
is acceptable.
I'm also dropping the "dtor" printing in the reflection dump.
Dtors are just one of many magic methods, I don't think there's
a point in explicitly highlighting them, when the name is already
unambiguous.
Nikita Popov [Fri, 17 Apr 2020 12:23:31 +0000 (14:23 +0200)]
Early return if variadic type check fails
Don't check all the remaining arguments after one check failed.
I don't think this makes an observable behavior difference,
because we already suppress duplicate exceptions in argument
type error reporting.
Christoph M. Becker [Fri, 17 Apr 2020 12:17:14 +0000 (14:17 +0200)]
Enable JIT for AppVeyor CI
This is not supposed to bring any test performance optimization, but
allows us to test basic JIT functionality on Windows.
Dmitry Stogov [Fri, 17 Apr 2020 11:56:18 +0000 (14:56 +0300)]
Merge branch 'PHP-7.4'
* PHP-7.4:
zend_timeout() may access EX(opline)
Dmitry Stogov [Fri, 17 Apr 2020 11:56:01 +0000 (14:56 +0300)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
zend_timeout() may access EX(opline)
Dmitry Stogov [Fri, 17 Apr 2020 11:55:14 +0000 (14:55 +0300)]
zend_timeout() may access EX(opline)
Christoph M. Becker [Fri, 17 Apr 2020 07:48:15 +0000 (09:48 +0200)]
Fix #79475: [JIT] func_get_args() assertion violation
`func_get_args()` may return `zend_empty_array`, which has refcount 2
to enforce separation. We have to cater to that during type inference
so that the optimization in the JIT macro `SEPARATE_ARRAY` doesn't
prevent the separation.
Máté Kocsis [Thu, 16 Apr 2020 16:56:23 +0000 (18:56 +0200)]
Revert unintended test change
Gabriel Caruso [Thu, 16 Apr 2020 09:26:54 +0000 (11:26 +0200)]
Align magic methods' camelCase with documentation
Closes GH-5398
Dmitry Stogov [Thu, 16 Apr 2020 11:35:51 +0000 (14:35 +0300)]
Improve registers reuse
George Peter Banyard [Sun, 12 Apr 2020 22:13:58 +0000 (00:13 +0200)]
Add S390X architecture as a Travis job
This gives us a way to compile and test a big endian architecture.
Closes GH-5382.
Nikita Popov [Thu, 16 Apr 2020 10:18:50 +0000 (12:18 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix bug #79336
Nikita Popov [Thu, 16 Apr 2020 09:52:37 +0000 (11:52 +0200)]
Fix bug #79336
Make reading of floats and doubles host-endian independent.
Nikita Popov [Fri, 21 Feb 2020 12:13:36 +0000 (13:13 +0100)]
Allow using prototypes when optimizing arg passing
Closes GH-5193.
Christoph M. Becker [Thu, 16 Apr 2020 09:57:54 +0000 (11:57 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Move test to its folder
Gabriel Caruso [Thu, 16 Apr 2020 09:38:27 +0000 (11:38 +0200)]
Move test to its folder
Nikita Popov [Thu, 16 Apr 2020 09:23:11 +0000 (11:23 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix MySQL local infile / attr handling on big endian systems
Nikita Popov [Thu, 16 Apr 2020 09:22:43 +0000 (11:22 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix MySQL local infile / attr handling on big endian systems
guirish [Fri, 10 Apr 2020 09:45:40 +0000 (05:45 -0400)]
Fix MySQL local infile / attr handling on big endian systems
Make sure pointer types match what is used by libmysql everywhere.
Closes GH-5380.
Gabriel Caruso [Thu, 16 Apr 2020 08:39:25 +0000 (10:39 +0200)]
Fix magic method name
Gabriel Caruso [Wed, 15 Apr 2020 23:39:51 +0000 (01:39 +0200)]
Improve error messages for magic methods by appending method's class
Closes GH-5397.
vibhutisawant [Sat, 11 Apr 2020 14:45:03 +0000 (07:45 -0700)]
Fix Bug #79431 Various compiler warnings on Big endian architecture with GCC 5.4.0
Fix [-Werror=maybe-uninitialized] compilation warnings on big endian system
Closes GH-5373
Nikita Popov [Wed, 15 Apr 2020 10:58:50 +0000 (12:58 +0200)]
Remove OP_RANGE_EX distinction
Only leave OP_RANGE macros, which always have the "EX" behavior.
This was already done for most other macros before, but these
were missed. This helps avoid mistakes by using the wrong macro.
Dmitry Stogov [Wed, 15 Apr 2020 10:09:55 +0000 (13:09 +0300)]
Use proper macro
Dmitry Stogov [Wed, 15 Apr 2020 10:08:09 +0000 (13:08 +0300)]
Removed unused parameter
Nikita Popov [Wed, 15 Apr 2020 09:27:03 +0000 (11:27 +0200)]
Force short_open_tag=0 in run-tests.php
Make sure we don't accidentially add tests depending on short tags.
Nikita Popov [Wed, 15 Apr 2020 09:25:18 +0000 (11:25 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix directory clash in tempnam_variation4 test
Nikita Popov [Wed, 15 Apr 2020 09:25:06 +0000 (11:25 +0200)]
Fix directory clash in tempnam_variation4 test
Nikita Popov [Wed, 15 Apr 2020 09:22:05 +0000 (11:22 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fixed bug #79477
Nikita Popov [Wed, 15 Apr 2020 09:21:34 +0000 (11:21 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fixed bug #79477
Nikita Popov [Wed, 15 Apr 2020 09:20:33 +0000 (11:20 +0200)]
Fixed bug #79477
Make sure to deindirect properties when creating array.
Nikita Popov [Wed, 15 Apr 2020 08:59:58 +0000 (10:59 +0200)]
Remove return value from llist apply functions
Unlike the hash apply functions, these do not return int.
Nikita Popov [Wed, 15 Apr 2020 08:49:44 +0000 (10:49 +0200)]
Make zend_list_free return void
And assert that the refcount is zero. This function should only
be used internally as the resource destructor.
Nikita Popov [Wed, 15 Apr 2020 08:45:18 +0000 (10:45 +0200)]
Adjust zend_write_func signature
Make it return size_t instead of int, to line up with actual
implementation.
Nikita Popov [Wed, 15 Apr 2020 08:41:19 +0000 (10:41 +0200)]
More precise ifunc resolver return type
Fixes -Wattribute-alias warning.
Nikita Popov [Wed, 15 Apr 2020 08:37:33 +0000 (10:37 +0200)]
Suppress SIG_ERR cast warnings
By casting to void*. I don't want to deal with this right now.
Nikita Popov [Wed, 15 Apr 2020 08:28:48 +0000 (10:28 +0200)]
Fix function signature mismatches in GMP
This is fairly annoying. Add adapter functions for cases where
we are discarding a return value.
Some of the issues are legitimate in that we were previously
truncating some unsigned long return values to int implicitly,
though I doubt it makes a difference in practice.
This fixes -Wcast-function-type warnings.
Nikita Popov [Wed, 15 Apr 2020 08:04:20 +0000 (10:04 +0200)]
Fix PHP_HAVALUpdate signature
Fixes a -Wcast-function-type warning.
Nikita Popov [Wed, 15 Apr 2020 07:58:19 +0000 (09:58 +0200)]
Fix function libxml free error signature
Fixes a -Wcast-function-type warning.
Remi Collet [Wed, 15 Apr 2020 07:26:55 +0000 (09:26 +0200)]
fix test using short_tag
Remi Collet [Wed, 15 Apr 2020 07:07:21 +0000 (09:07 +0200)]
workaround typo in system libgd 2.3.0
George Peter Banyard [Wed, 5 Feb 2020 16:36:41 +0000 (17:36 +0100)]
Add -Wextra compiler warnings and exclude the trigger happy ones
The compile warnings which are explicitly suppressed are:
* -Wno-implicit-fallthrough
* -Wno-unused-parameter
* -Wno-sign-compare
* -Wno-clobbered, only with GCC
Closes GH-5151
George Peter Banyard [Thu, 26 Mar 2020 20:17:23 +0000 (21:17 +0100)]
Add -Wno-type-limits compiler flag to Sodium extension
This may happen on 32bits
George Peter Banyard [Wed, 25 Mar 2020 18:13:59 +0000 (19:13 +0100)]
Add -Wno-ignored-qualifiers compiler flag to Tidy extension.
This is an issue in the provided library and needs to be fixed upstream.
Dmitry Stogov [Tue, 14 Apr 2020 17:38:42 +0000 (20:38 +0300)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #79472: ext/ffi/tests/040.phpt TC fails on Big endian arch
Christoph M. Becker [Mon, 13 Apr 2020 21:24:40 +0000 (23:24 +0200)]
Fix #79472: ext/ffi/tests/040.phpt TC fails on Big endian arch
For now we are choosing the simplest solution, namely to skip the test
on big-endian architectures.
Christoph M. Becker [Tue, 14 Apr 2020 16:20:58 +0000 (18:20 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Add missing CVE
Christoph M. Becker [Tue, 14 Apr 2020 16:19:16 +0000 (18:19 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Add missing CVE
Christoph M. Becker [Tue, 14 Apr 2020 16:18:18 +0000 (18:18 +0200)]
Add missing CVE
Nikita Popov [Tue, 14 Apr 2020 15:55:04 +0000 (17:55 +0200)]
Make gen_stub.php compatible with PHP 7.1 again
Not worth bumping requirements over this...
Nikita Popov [Tue, 14 Apr 2020 15:50:54 +0000 (17:50 +0200)]
Fix test after callback name change
Alex Dowad [Tue, 14 Apr 2020 12:05:32 +0000 (14:05 +0200)]
Remove XFAIL from tests for 'bug' 48770
Bug 48770 was opened due to conflicting expectations about the behavior of:
call_user_func_array(array($this, 'parent::methodName'), array($arg1,$arg2))
The one reporting the 'bug' seemed to think that since the method name was prefixed with
`parent::`, it should call the method in the superclass of the *class where this code appears*.
However, `$this` might be an instance of a subclass. If so, then it is quite reasonable that
`call_user_func_array` will call the method as defined in the superclass of *the receiver*.
So the 'bug' is not really a bug. Therefore, there is no need for an XFAIL in the tests. They
should just pass.
Amend tests to reflect the actual expected behavior of `call_user_func_array`, not what the
person who reported bug 48770 thought it should be.
Closes GH-5386.
Nikita Popov [Tue, 14 Apr 2020 15:38:56 +0000 (17:38 +0200)]
Fix filter_(var|input)_array default
George Peter Banyard [Wed, 25 Mar 2020 20:30:54 +0000 (21:30 +0100)]
Remove XFAIL section of a passing COM test
Closes GH-5297
Nikita Popov [Tue, 14 Apr 2020 15:17:38 +0000 (17:17 +0200)]
Add zend_string_concat2 API
Sara Golemon [Tue, 14 Apr 2020 15:14:04 +0000 (11:14 -0400)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fixed bug #79468
NEWS
Guillaume Charifi [Tue, 14 Apr 2020 10:04:23 +0000 (12:04 +0200)]
Improve socket cmsg space handling.
This should also fix the null pointer arithmetic warning on MacOS as we don't depend on whack code written by Apple.
Closes GH-5387
Nikita Popov [Tue, 14 Apr 2020 15:02:47 +0000 (17:02 +0200)]
Always use __invoke callable name for objects
The callable name is provided also if it's not callable, in which
case it's basically "what it would be if it were callable", which
is ClassName::__invoke. The current behavior of casting the object
to string makes very little sense as this will just throw an
exception for most objects.