]>
granicus.if.org Git - php/log
Nikita Popov [Wed, 11 Sep 2019 14:27:28 +0000 (16:27 +0200)]
Only allow "nearly linked" classes for parent/interface
The requirements for parent/interface are difference than for the
variance checks in type declarations. The latter can work on fully
unlinked classes, but the former need inheritance to be essentially
finished, only variance checks may still be outstanding.
Adding a new flag for this because we have lots of space, but we
could also represent these "inheritance states" more compactly in
the future.
Nikita Popov [Tue, 3 Sep 2019 08:06:09 +0000 (10:06 +0200)]
Specify -fsanitize-no-recover
To make it more obvious when there are ubsan failures.
Nicolas Grekas [Tue, 3 Sep 2019 08:02:30 +0000 (10:02 +0200)]
Improve Symfony test setup
Perform PHPUnit installation under php7.3 -- which will also make
it work on master.
Also properly resolve the tty issue by specifying excluded groups
during the test run.
Nikita Popov [Wed, 11 Sep 2019 08:59:04 +0000 (10:59 +0200)]
Free history_get_history_state() result
It's not documented, but per https://bugs.python.org/issue8065
the result is freshly malloc'd and needs to be freed.
Nikita Popov [Wed, 11 Sep 2019 08:31:03 +0000 (10:31 +0200)]
Fix another pointer indexing UB in http_fopen_wrapper
Only compute the gep after checking whether the pointer is NULL.
Nikita Popov [Wed, 11 Sep 2019 08:27:32 +0000 (10:27 +0200)]
Fixed bug #78506
Nikita Popov [Wed, 11 Sep 2019 07:52:31 +0000 (09:52 +0200)]
Preloading: Fix handling of static vars in inherited methods
Part of bug #78512.
Dmitry Stogov [Tue, 10 Sep 2019 21:52:54 +0000 (00:52 +0300)]
Fixed bad format string
Sara Golemon [Tue, 10 Sep 2019 17:05:38 +0000 (13:05 -0400)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Bump for 7.2.24
Sara Golemon [Tue, 10 Sep 2019 17:05:17 +0000 (13:05 -0400)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Bump for 7.2.24
Sara Golemon [Tue, 10 Sep 2019 17:03:27 +0000 (13:03 -0400)]
Bump for 7.2.24
Remi Collet [Tue, 10 Sep 2019 14:29:44 +0000 (16:29 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Raise minimal GCC version, Test with 4.8 is OK With 4.4: error: #pragma GCC diagnostic not allowed inside functions
Remi Collet [Tue, 10 Sep 2019 14:29:30 +0000 (16:29 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Raise minimal GCC version, Test with 4.8 is OK With 4.4: error: #pragma GCC diagnostic not allowed inside functions
Remi Collet [Tue, 10 Sep 2019 14:28:35 +0000 (16:28 +0200)]
Raise minimal GCC version,
Test with 4.8 is OK
With 4.4: error: #pragma GCC diagnostic not allowed inside functions
Christoph M. Becker [Tue, 10 Sep 2019 13:13:11 +0000 (15:13 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
PHP 7.3.10RC1 has been tagged
Christoph M. Becker [Tue, 10 Sep 2019 13:11:54 +0000 (15:11 +0200)]
PHP 7.3.10RC1 has been tagged
Dmitry Stogov [Tue, 10 Sep 2019 08:23:12 +0000 (11:23 +0300)]
NEWS entry, test and minor cleanup for FFI::isNull()
Dmitry Stogov [Tue, 10 Sep 2019 08:22:05 +0000 (11:22 +0300)]
Merge branch 'PHP-7.4' of git.php.net:php-src into PHP-7.4
* 'PHP-7.4' of git.php.net:php-src:
Drop regression test
Christoph M. Becker [Tue, 10 Sep 2019 08:08:42 +0000 (10:08 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Drop regression test
Christoph M. Becker [Tue, 10 Sep 2019 08:08:07 +0000 (10:08 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Drop regression test
Christoph M. Becker [Tue, 10 Sep 2019 08:07:39 +0000 (10:07 +0200)]
Drop regression test
The state returned by `sodium_crypto_generichash_init()` has to be
regarded as opaque byte string; neither its size nor its exact
structure are fixed, and actually vary for diffent libsodium versions.
Therefore we drop the test altogether.
Philip Hofstetter [Mon, 9 Sep 2019 11:14:59 +0000 (13:14 +0200)]
add FFI::isNull() to check whether a FFI\CData is a null pointer
Dmitry Stogov [Tue, 10 Sep 2019 08:01:36 +0000 (11:01 +0300)]
Stop after exceptions
Simonov Denis [Tue, 10 Sep 2019 07:22:26 +0000 (09:22 +0200)]
Request #77863: PDO firebird support type Boolean in input parameters
Christoph M. Becker [Mon, 9 Sep 2019 14:57:23 +0000 (16:57 +0200)]
new_variable '{' expr '}' is deprecated as well
Curly brace syntax for accessing array elements and string offsets is
deprecated [1]; this should also be the case for respective `new`
expressions.
This issue has been reported by brzuchal@php.net.
[1] <https://wiki.php.net/rfc/deprecate_curly_braces_array_access>
Nikita Popov [Mon, 9 Sep 2019 15:29:49 +0000 (17:29 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Mon, 9 Sep 2019 15:29:39 +0000 (17:29 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
CHU Zhaowei [Sun, 8 Sep 2019 09:29:32 +0000 (09:29 +0000)]
Fix bug #72884 isCloneable() on SplFileObject should return false
Tyson Andre [Mon, 9 Sep 2019 12:30:18 +0000 (08:30 -0400)]
Add opcache return type for random_int()
random_int() will throw for incorrect argument counts, types (e.g. float
that can't cast to int), or having min > max.
See ext/standard/random.c
Tyson Andre [Sun, 8 Sep 2019 19:14:02 +0000 (15:14 -0400)]
Fix opcache zend_func_info for microtime/gettimeofday
microtime() doesn't return an array,
and gettimeofday() doesn't return a string.
See _php_gettimeofday in microtime.c (mode is non-zero for gettimeofday)
Nikita Popov [Mon, 9 Sep 2019 15:11:22 +0000 (17:11 +0200)]
Clarify that our usage of gettimeofday() is infallible
And that false can't be returned for this reason.
Christoph M. Becker [Mon, 9 Sep 2019 13:44:36 +0000 (15:44 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix version
Christoph M. Becker [Thu, 5 Sep 2019 17:33:17 +0000 (19:33 +0200)]
Fix version
7.3.10 is next, not 7.3.11.
Christoph M. Becker [Mon, 9 Sep 2019 13:32:44 +0000 (15:32 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #78510: Partially uninitialized buffer returned by sodium_crypto_generichash_init()
Christoph M. Becker [Mon, 9 Sep 2019 13:30:57 +0000 (15:30 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix #78510: Partially uninitialized buffer returned by sodium_crypto_generichash_init()
Christoph M. Becker [Mon, 9 Sep 2019 13:30:28 +0000 (15:30 +0200)]
Fix #78510: Partially uninitialized buffer returned by sodium_crypto_generichash_init()
Backport jedisct1/libsodium.php@
28d13bf437cb969a0583031fc7ac54c5a8dc8116 .
Nikita Popov [Mon, 9 Sep 2019 12:24:26 +0000 (14:24 +0200)]
Fix typo
Remi Collet [Mon, 9 Sep 2019 12:22:12 +0000 (14:22 +0200)]
zip edxtension is now 1.15.5
Remi Collet [Mon, 9 Sep 2019 12:20:57 +0000 (14:20 +0200)]
Nikita Popov [Mon, 9 Sep 2019 09:36:50 +0000 (11:36 +0200)]
Fixed bug #78514
The property class may have already been translated as part of
some other class. Only translate if xlat returns non-null.
Nikita Popov [Mon, 9 Sep 2019 08:50:10 +0000 (10:50 +0200)]
Fix PDO pgsql memory leak with scrollable cursors
Nikita Popov [Mon, 9 Sep 2019 08:10:41 +0000 (10:10 +0200)]
Fix double free of DSN credentials
Peter Kokot [Sun, 8 Sep 2019 19:49:42 +0000 (21:49 +0200)]
Update NEWS
Peter Kokot [Sun, 8 Sep 2019 19:46:48 +0000 (21:46 +0200)]
Fix #78349: Bundled pcre2 library missing LICENCE file
Most bundled libraries in PHP code already include license information
in the dedicated README.REDIST.BINS file. Instead of complicating
documentation files more this patch only updates the PCRE license info
in the readme file.
Nikita Popov [Sat, 7 Sep 2019 20:47:07 +0000 (22:47 +0200)]
Fix reporting of redirect test failures in junit
These were being reported under the wrong name ... which means that
they don't show up as failures on azure :(
Dmitry Stogov [Tue, 3 Sep 2019 20:42:22 +0000 (23:42 +0300)]
Link executable files using non PIC object files. This reduces PIC overhead and improves performance.
Nikita Popov [Fri, 6 Sep 2019 12:59:41 +0000 (14:59 +0200)]
Remove defines for specific oraldap versions
These are not used for anything.
Nikita Popov [Fri, 6 Sep 2019 12:57:26 +0000 (14:57 +0200)]
Remove support for umich_ldap
Doesn't seem to exist anymore, and their website now redirects to
openldap.
Nikita Popov [Fri, 30 Aug 2019 08:21:07 +0000 (10:21 +0200)]
Remove nsldap support
The newest version we're checking (libssldap50) seems to be about
15 years out of date. We could add support for libssldap60 (also
unmainted, but more recent), but given how nobody has expressed any
interest in this, I'm going ahead and dropping this code.
Nikita Popov [Thu, 29 Aug 2019 15:43:48 +0000 (17:43 +0200)]
Fix detection of gmp on clang
Split the default and custom path case. If the default is used,
assume that the library must be on the default include and lib path.
Only check that the version is appropriate.
Something similar is needed for ldap, but the checking code is much
more complex there, so I'm only adding a workaround for now.
Nikita Popov [Fri, 6 Sep 2019 09:30:01 +0000 (11:30 +0200)]
Fixed bug #78502
We need to make sure that the function is fully compiled before we
calculate the stack size. There already was a check for directly
recursive calls, but the same issue exists with indirectly recursive
calls.
I'm using DONE_PASS_TWO as the indication that the function is
fully compiled.
Stanislav Malyshev [Thu, 5 Sep 2019 16:55:54 +0000 (09:55 -0700)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
fix version
Stanislav Malyshev [Thu, 5 Sep 2019 16:54:43 +0000 (09:54 -0700)]
fix version
Nikita Popov [Thu, 5 Sep 2019 14:35:40 +0000 (16:35 +0200)]
Fix pipe detection and stream position handling
There are two related changes here:
1. Also check for S_ISCHR/FILE_TYPE_CHAR when checking for pipes, so
that we detect ttys as well, which are also not seekable.
2. Always set position=-1 (i.e. ftell will return false) when a pipe
is detected. Previously position=0 was sometimes used, depending on
whether we're on Windows/Linux and whether the FD or FILE codepath
was used.
Dmitry Stogov [Thu, 5 Sep 2019 12:35:19 +0000 (15:35 +0300)]
Revert "Microoptimization (avoid code duplication)"
This reverts commit
25d97f5eeeaf2eca760139f04fe2711e71791d0f .
Dmitry Stogov [Thu, 5 Sep 2019 10:44:46 +0000 (13:44 +0300)]
Microoptimization (avoid code duplication)
Dmitry Stogov [Thu, 5 Sep 2019 08:40:15 +0000 (11:40 +0300)]
Remove HOT attribute from some VM handlers. Comparisons almost always followed by JMPZ/JMPNZ; JMPZNZ is rare used.
Nikita Popov [Thu, 5 Sep 2019 08:39:04 +0000 (10:39 +0200)]
Remove --with-zlib-dir option from mysqlnd config
mysqlnd doesn't actually use this. PDO MySQL uses it, but also
declares it separately.
Nikita Popov [Wed, 4 Sep 2019 12:43:42 +0000 (14:43 +0200)]
Improve exception handling for abstract/deprecated calls
Reuse existing arg freeing loop instead of duplicating it.
Additionally also handle deprecated in DO_FCALL_BY_NAME.
Nikita Popov [Wed, 4 Sep 2019 10:34:20 +0000 (12:34 +0200)]
Fix handling of abstract/deprecated exception
The exception mechanism assumes that exceptions from DO_FCALL are
already happening after the function call. This means that we are
currently leaking the passed arguments, and I think we can also
corrupt the VM stack due to incorrect frame linking in some cases
(there are assertion failures if the VM stack page size is reduced).
Instead handle the stack frame freeing manually for this special
case.
Dmitry Stogov [Wed, 4 Sep 2019 09:13:49 +0000 (12:13 +0300)]
Fixed bug #78488 (OOB in ZEND_FUNCTION(ffi_trampoline)).
Tyson Andre [Tue, 3 Sep 2019 02:33:30 +0000 (22:33 -0400)]
Add missing opcache return types for functions in spl
(excluding spl_autoload)
spl_object_id() is of the most interest to me,
since I frequently call it in an application.
This includes false/null types caused by wrong argument types and wrong argument
counts.
I can't rule out iterator_to_array returning null in spl_iterator_apply,
so leave MAY_BE_NULL in.
With review comments by nikic:
Co-Authored-By: Nikita Popov <nikita.ppv@googlemail.com>
Fabien Villepinte [Tue, 3 Sep 2019 20:54:41 +0000 (22:54 +0200)]
Add the last missing SKIPIF
Fabien Villepinte [Tue, 3 Sep 2019 20:21:01 +0000 (22:21 +0200)]
Add missing SKIPIF (mbstring)
Fabien Villepinte [Tue, 3 Sep 2019 20:05:29 +0000 (22:05 +0200)]
Add missing SKIPIF (openssl)
Co-Authored-By: Gabriel Caruso <carusogabriel34@gmail.com>
Fabien Villepinte [Tue, 3 Sep 2019 19:07:12 +0000 (21:07 +0200)]
Add missing SKIPIF (sqlite)
Fabien Villepinte [Tue, 3 Sep 2019 18:57:39 +0000 (20:57 +0200)]
Add missing SKIPIF
Christoph M. Becker [Tue, 3 Sep 2019 12:06:56 +0000 (14:06 +0200)]
Document opcache.preload_user directive
Nikita Popov [Tue, 3 Sep 2019 11:14:33 +0000 (13:14 +0200)]
Report false for inherited private methods in method_exists()
These shadow methods only exist as internal implementation markers.
This mirrors the behavior of property_exists().
Christoph M. Becker [Tue, 3 Sep 2019 11:32:40 +0000 (13:32 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #41997: SP call yields additional empty result set
Christoph M. Becker [Tue, 3 Sep 2019 11:30:05 +0000 (13:30 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix #41997: SP call yields additional empty result set
Christoph M. Becker [Tue, 6 Aug 2019 12:30:41 +0000 (14:30 +0200)]
Fix #41997: SP call yields additional empty result set
When stored procedures are called, the "final result set is a status
result that includes no result set". Calling `::nextRowset()` on the
actual last result set should return FALSE, since there is actually no
further result set to be processed.
Dmitry Stogov [Tue, 3 Sep 2019 11:23:13 +0000 (14:23 +0300)]
Execute preload script under user defined by opcache.preload_user directive
Nikita Popov [Tue, 3 Sep 2019 10:01:56 +0000 (12:01 +0200)]
Avoid pointer UB in strip_header
Don't calculate header_start if lc_header_start is NULL, as we're
going to overflow the address space in that case.
Nikita Popov [Tue, 3 Sep 2019 09:05:47 +0000 (11:05 +0200)]
Use unsigned subtraction in php_random_int()
This subtraction may overflow the signed domain, which is UB. Use
an unsigned subtraction instead.
Derick Rethans [Tue, 3 Sep 2019 08:11:00 +0000 (09:11 +0100)]
Merge branch 'PHP-7.4' of git://github.com/php/php-src into PHP-7.4
Tyson Andre [Tue, 3 Sep 2019 02:14:11 +0000 (22:14 -0400)]
Add missing opcache return info for ext/standard.
array_key_first/last returns null for invalid args,
wrong argument counts, and empty arrays.
random_bytes returns a string or throws.
Tyson Andre [Tue, 3 Sep 2019 02:14:11 +0000 (22:14 -0400)]
Add new missing functions from ext/hash
Nikita Popov [Tue, 3 Sep 2019 07:50:08 +0000 (09:50 +0200)]
Add zpp check to spl_classes()
Derick Rethans [Tue, 3 Sep 2019 07:46:16 +0000 (07:46 +0000)]
Update NEWS for 7.4.0RC2
Derick Rethans [Tue, 3 Sep 2019 07:44:58 +0000 (07:44 +0000)]
Update NEWS for PHP 7.4.0RC1
Nikita Popov [Tue, 3 Sep 2019 07:43:22 +0000 (09:43 +0200)]
Clarify failure behavior of spl_iterator_apply()
It only fails if it throws, in which case it is meaningless to
set a return value.
Christoph M. Becker [Tue, 3 Sep 2019 07:25:21 +0000 (09:25 +0200)]
Add missing argument checks
These functions don't expect any arguments, so we check that none are
given.
Nikita Popov [Tue, 3 Sep 2019 07:24:05 +0000 (09:24 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Tue, 3 Sep 2019 07:23:55 +0000 (09:23 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Tyson Andre [Tue, 3 Sep 2019 01:32:24 +0000 (21:32 -0400)]
Fix opcache return type for hash_update_stream
It can return false if the resource type is wrong.
```
php > var_export(hash_update_stream(hash_init('md5'),
imagecreate(1,1)));
Warning: hash_update_stream(): supplied resource is not a valid stream
resource in php shell code on line 1
false
```
The return types were initially added in
c88ffa9a5673cb3141660626ba1921671f0b84d6
Dmitry Stogov [Mon, 2 Sep 2019 16:02:40 +0000 (19:02 +0300)]
Update PHP_API_VERSION
Christoph M. Becker [Mon, 2 Sep 2019 13:21:49 +0000 (15:21 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Update NEWS
Christoph M. Becker [Mon, 2 Sep 2019 13:21:20 +0000 (15:21 +0200)]
Update NEWS
Christoph M. Becker [Mon, 2 Sep 2019 13:06:45 +0000 (15:06 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #76577: outdated documentation concerning track_errors
Christoph M. Becker [Mon, 2 Sep 2019 13:05:57 +0000 (15:05 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix #76577: outdated documentation concerning track_errors
Christoph M. Becker [Mon, 2 Sep 2019 13:05:01 +0000 (15:05 +0200)]
Fix #76577: outdated documentation concerning track_errors
Dmitry Stogov [Mon, 2 Sep 2019 11:05:28 +0000 (14:05 +0300)]
Free two bits in fn_flags by merging ZEND_ACC_HEAP_RT_CACHE/ZEND_ACC_USER_ARG_INFO and ZEND_ACC_DONE_PASS_TWO/ZEND_ACC_ARENA_ALLOCATED that may be used only for user/internal functions
Dmitry Stogov [Mon, 2 Sep 2019 09:50:05 +0000 (12:50 +0300)]
Fixed information about unused flags
Nikita Popov [Mon, 2 Sep 2019 07:37:26 +0000 (09:37 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Mon, 2 Sep 2019 07:36:58 +0000 (09:36 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Mon, 2 Sep 2019 07:36:20 +0000 (09:36 +0200)]
Fix pkg-config version constraint for ICU
On PHP 7.2 our minimum ICU version is 4.0, not 40.
George Peter Banyard [Sun, 14 Jul 2019 19:31:21 +0000 (21:31 +0200)]
Drop E_STRICT notice in mysqli extension
Nikita Popov [Fri, 30 Aug 2019 15:24:06 +0000 (17:24 +0200)]
Reenable alloca support on ZTS
This got disabled due to an incorrect change in a preprocessor condition
in
2104bea5d756dfa40b605a4a2765a3bc4637a76c . It was not supposed to
be disabled.
Nikita Popov [Fri, 30 Aug 2019 14:36:49 +0000 (16:36 +0200)]
Fix file clashes in copy tests
Create the "*" file in a sub-directory rather than the main test
directory, so that it's different for each test.