]>
granicus.if.org Git - php/log
Nikita Popov [Thu, 29 Aug 2019 16:01:34 +0000 (18:01 +0200)]
Fix potentially uninitialized use in ldap
If ctrl->ldctl_value.bv_len is zero context is uninitialized. Only
free it if the call took place and succeeded.
Nikita Popov [Thu, 29 Aug 2019 12:33:31 +0000 (14:33 +0200)]
Addref static vars when not copying private method
While we don't need to give this method separate static vars, we
do still need to perform an addref, as there will be a corresponding
delref in the dtor.
Nikita Popov [Thu, 29 Aug 2019 10:58:22 +0000 (12:58 +0200)]
Use explicit unaligned type in md5 implementation
Nikita Popov [Thu, 29 Aug 2019 10:34:07 +0000 (12:34 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Thu, 29 Aug 2019 10:32:23 +0000 (12:32 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Thu, 29 Aug 2019 10:30:39 +0000 (12:30 +0200)]
Fix use-after-free of immediately invoked closure with extra args
Nikita Popov [Wed, 28 Aug 2019 15:39:39 +0000 (17:39 +0200)]
Set opcache.protect_memory=1 on Azure
Christoph M. Becker [Wed, 28 Aug 2019 15:58:13 +0000 (17:58 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #78473: odbc_close() closes arbitrary resources
Christoph M. Becker [Wed, 28 Aug 2019 15:56:23 +0000 (17:56 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix #78473: odbc_close() closes arbitrary resources
Christoph M. Becker [Wed, 28 Aug 2019 15:51:57 +0000 (17:51 +0200)]
Fix #78473: odbc_close() closes arbitrary resources
We have to bail out, if an invalid resource is given. For consistency
with the other `zend_fetch_resource(2)` calls, we return `FALSE`.
Nikita Popov [Wed, 28 Aug 2019 15:31:52 +0000 (17:31 +0200)]
Add missed mutability check
Nikita Popov [Wed, 28 Aug 2019 13:35:53 +0000 (15:35 +0200)]
Remove delref in free_object_storage
This gives us better object leak diagnostics.
Nikita Popov [Wed, 28 Aug 2019 13:33:51 +0000 (15:33 +0200)]
Destroy error handlers before final GC run
Nikita Popov [Wed, 28 Aug 2019 10:15:28 +0000 (12:15 +0200)]
Fixed bug #78335
Destroy static properties and variables prior to the final GC run,
as they may hold GC roots.
Stanislav Malyshev [Wed, 28 Aug 2019 07:11:50 +0000 (00:11 -0700)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Upgrade oniguruma lib to 6.9.3
Stanislav Malyshev [Wed, 28 Aug 2019 06:28:33 +0000 (23:28 -0700)]
Upgrade oniguruma lib to 6.9.3
Nikita Popov [Tue, 27 Aug 2019 19:59:56 +0000 (21:59 +0200)]
Don't specify precedence for T_INC/T_DEC
As these do not operate on expressions, precedence is meaningless
for them.
Nikita Popov [Tue, 27 Aug 2019 09:36:58 +0000 (11:36 +0200)]
Add --with-pear to Travis build
Pavel Dyakonov [Tue, 27 Aug 2019 13:06:56 +0000 (16:06 +0300)]
add ffi to php.ini extension [ci skip]
Anatol Belski [Tue, 27 Aug 2019 12:34:14 +0000 (14:34 +0200)]
Fix signature and calls
Christoph M. Becker [Tue, 27 Aug 2019 11:36:09 +0000 (13:36 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Update SDK version for AppVeyor
Christoph M. Becker [Tue, 27 Aug 2019 11:35:05 +0000 (13:35 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Update SDK version for AppVeyor
Christoph M. Becker [Tue, 27 Aug 2019 11:34:35 +0000 (13:34 +0200)]
Update SDK version for AppVeyor
Jakub Zelenka [Mon, 26 Aug 2019 17:11:04 +0000 (18:11 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
Tsuyoshi Sadakata [Thu, 25 Jul 2019 14:22:45 +0000 (23:22 +0900)]
Fix bug #78334 (fpm log prefix message includes wrong stdout/stderr notation)
Nikita Popov [Mon, 26 Aug 2019 15:52:56 +0000 (17:52 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Mon, 26 Aug 2019 15:50:46 +0000 (17:50 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Mon, 26 Aug 2019 15:48:05 +0000 (17:48 +0200)]
Remove properties HT from nested GC data
The properties HT may be a GC root itself, so we need to remove it.
I'm not sure this issue actually applies to PHP 7.2, but committing
it there to be safe. As seen from the test case, the handling here
is rather buggy on 7.2.
Nikita Popov [Mon, 26 Aug 2019 14:10:29 +0000 (16:10 +0200)]
Don't use needs_live_range hook for "special" live ranges
In particular we were disgarding SILENCE live ranges in opcache,
because we decided that a MAY_BE_LONG type does not need a live
range.
Christoph M. Becker [Mon, 26 Aug 2019 10:37:29 +0000 (12:37 +0200)]
Replace deprecated libzip functions
We replace all deprecated libzip functions with their recommended
substitutes, and add proper comment length checks including a test
case.
viest [Sat, 3 Aug 2019 15:05:56 +0000 (23:05 +0800)]
Deprecate AI_IDN_ALLOW_UNASSIGNED and AI_IDN_USE_STD3_ASCII_RULES
These flags have been deprecated in glibc 2.28, so we also
deprecate them in PHP.
As we can't deprecate constants, we can only check for their use
in socket_addrinfo_lookup().
Nikita Popov [Mon, 26 Aug 2019 09:13:57 +0000 (11:13 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Mon, 26 Aug 2019 09:13:49 +0000 (11:13 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Tyson Andre [Sun, 25 Aug 2019 15:02:28 +0000 (11:02 -0400)]
Also fix signature for passthru
Backported from
a1a8d144854acb1c891cf0c21abb0f612b1d8de7
https://www.php.net/manual/en/function.passthru.php#refsect1-function.passthru-returnvalues
`passthru()` is false with invalid args
`passthru('command')` is null.
Tyson Andre [Sun, 25 Aug 2019 14:48:52 +0000 (10:48 -0400)]
Fix opcache optimizer info for time_nanosleep
This can also return an array. See
https://www.php.net/manual/en/function.time-nanosleep.php#refsect1-function.time-nanosleep-returnvalues
> If the delay was interrupted by a signal, an associative array will be
returned with the components:
>
> - seconds - number of seconds remaining in the delay
> - nanoseconds - number of nanoseconds remaining in the delay
Sending a SIGUSR1 to the below program would trigger this behavior.
```
pcntl_signal(\SIGUSR1, function ($signo, $signinfo) {
echo "Handling a signal $signo\n";
});
echo "Sleeping for 100 seconds\n";
var_export(time_nanosleep(100, 0));
```
The incomplete signature existed since
c88ffa9a5 .
No phpt tests existed for time_nanosleep returning an array
Nikita Popov [Mon, 26 Aug 2019 09:08:42 +0000 (11:08 +0200)]
Fixed bug #78456
Nikita Popov [Mon, 26 Aug 2019 08:27:08 +0000 (10:27 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Mon, 26 Aug 2019 08:26:49 +0000 (10:26 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Mon, 26 Aug 2019 08:23:23 +0000 (10:23 +0200)]
Fix overflow in memory limit checks
Due to overflows in the memory limit checks, we were missing cases
where the allocation size was close to the address space size, and
caused an OOM condition rather than a memory limit error.
Stanislav Malyshev [Mon, 26 Aug 2019 03:06:43 +0000 (20:06 -0700)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix test
Stanislav Malyshev [Mon, 26 Aug 2019 03:06:02 +0000 (20:06 -0700)]
Fix test
Not sure why offset changed... probably different PCRE version calculates
them in different way.
Stanislav Malyshev [Mon, 26 Aug 2019 02:21:08 +0000 (19:21 -0700)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #75457: heap-use-after-free in php7.0.25
Stanislav Malyshev [Mon, 26 Aug 2019 02:21:04 +0000 (19:21 -0700)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix #75457: heap-use-after-free in php7.0.25
Stanislav Malyshev [Mon, 26 Aug 2019 02:20:59 +0000 (19:20 -0700)]
Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
Fix #75457: heap-use-after-free in php7.0.25
Christoph M. Becker [Fri, 16 Aug 2019 12:29:19 +0000 (14:29 +0200)]
Fix #75457: heap-use-after-free in php7.0.25
Backport <https://vcs.pcre.org/pcre?view=revision&revision=1638>.
Theodore Brown [Sun, 25 Aug 2019 05:33:51 +0000 (00:33 -0500)]
Fix #78454: Consecutive numeric separators cause OOM error
Resolves out of memory error when consecutive numeric separators follow a binary/hex literal.
Christoph M. Becker [Sat, 24 Aug 2019 08:28:43 +0000 (10:28 +0200)]
Don't modify arrays passed by value
Stanislav Malyshev [Sun, 25 Aug 2019 07:20:40 +0000 (00:20 -0700)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Update Oniguruma to 6.9.1
Stanislav Malyshev [Sun, 25 Aug 2019 06:53:35 +0000 (23:53 -0700)]
Update Oniguruma to 6.9.1
Stanislav Malyshev [Sun, 25 Aug 2019 06:17:12 +0000 (23:17 -0700)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix CVE-2019-13224: don't allow different encodings for onig_new_deluxe()
set version for release
Stanislav Malyshev [Sun, 25 Aug 2019 06:16:09 +0000 (23:16 -0700)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix CVE-2019-13224: don't allow different encodings for onig_new_deluxe()
set version for release
Stanislav Malyshev [Sun, 25 Aug 2019 06:15:36 +0000 (23:15 -0700)]
Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
Fix CVE-2019-13224: don't allow different encodings for onig_new_deluxe()
set version for release
Stanislav Malyshev [Sun, 25 Aug 2019 06:11:45 +0000 (23:11 -0700)]
Fix CVE-2019-13224: don't allow different encodings for onig_new_deluxe()
Backport from https://github.com/kkos/oniguruma/commit/
0f7f61ed1b7b697e283e37bd2d731d0bd57adb55
Nikita Popov [Fri, 16 Aug 2019 10:55:28 +0000 (12:55 +0200)]
Relax closure $this unbinding deprecation
Only deprecate unbinding of $this from a closure if $this is
syntactically used within the closure.
This is desired to support Laravel's macro system, see laravel/framework#29482.
This should still allow us to implement the performance improvements
we're interested in for PHP 8, without breaking existing use-cases.
Nikita Popov [Fri, 23 Aug 2019 14:58:34 +0000 (16:58 +0200)]
Fix arginfo leak when using disabled_classes
Also remove the hack where scope is set to NULL in order to make
free_internal_arg_info work. Instead explicitly call it for class
methods.
This fixes the asan build for Zend/tests/bug77494.phpt.
Nikita Popov [Fri, 23 Aug 2019 14:18:15 +0000 (16:18 +0200)]
Fix noalias violation in select call
Nikita Popov [Fri, 23 Aug 2019 14:14:19 +0000 (16:14 +0200)]
Avoid strncat use in proc_open
Instead manually manage the insertion position.
Nikita Popov [Fri, 23 Aug 2019 13:51:57 +0000 (15:51 +0200)]
Replace strncat in filter implementation
In this case we already know exactly where we need to write, no
need to use strncat at all.
Nikita Popov [Wed, 21 Aug 2019 14:19:58 +0000 (16:19 +0200)]
Support variable element size in spl heap implementation
This allows us to drop the intermediate allocation for
spl_pqueue_elem.
This fixes GC for SplPriorityQueue, because we can now directly
return a well-formed GC child buffer.
Nikita Popov [Fri, 23 Aug 2019 13:27:28 +0000 (15:27 +0200)]
Fixed bug #78436
Christoph M. Becker [Fri, 23 Aug 2019 12:02:48 +0000 (14:02 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #77812: Interactive mode does not support PHP 7.3-style heredoc
Christoph M. Becker [Fri, 23 Aug 2019 11:59:10 +0000 (13:59 +0200)]
Fix #77812: Interactive mode does not support PHP 7.3-style heredoc
As of PHP 7.3.0, the rules regarding the heredoc and nowdoc closing
identifier have been relaxed. While formerly, the closing identifier
was required to be placed at the beginning of a line and to be
immediately followed by (a semicolon and) a line break, it may now be
preceeded by whitespace, and may be followed by any non-word character.
We adjust the recognition logic respectively.
Christoph M. Becker [Fri, 23 Aug 2019 10:22:28 +0000 (12:22 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Suppress deprecation warning on IDNA2003 ICU methods for clang
Christoph M. Becker [Fri, 23 Aug 2019 10:21:57 +0000 (12:21 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Suppress deprecation warning on IDNA2003 ICU methods for clang
Christoph M. Becker [Fri, 23 Aug 2019 09:14:18 +0000 (11:14 +0200)]
Suppress deprecation warning on IDNA2003 ICU methods for clang
Christoph M. Becker [Fri, 23 Aug 2019 09:30:31 +0000 (11:30 +0200)]
Fix #78438: Corruption when __unserializing deeply nested structures
When storing two temporary variables for delayed __unserialize() calls,
we have to make sure that both fit into the same linked list element.
To that end we introduce the internal API `tmp_var` which allows to
reserve `num` slots in the same list element.
We also fix the `var_dtor_entries` struct definition to use the proper
size, namely `VAR_DTOR_ENTRIES_MAX`.
Christoph M. Becker [Thu, 22 Aug 2019 13:58:25 +0000 (15:58 +0200)]
Fix var_unserializer debug code
At least it now compiles and should be free of warnings.
Christoph M. Becker [Wed, 21 Aug 2019 20:54:05 +0000 (22:54 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #78441: Parse error due to heredoc identifier followed by digit
Christoph M. Becker [Wed, 21 Aug 2019 20:51:51 +0000 (22:51 +0200)]
Fix #78441: Parse error due to heredoc identifier followed by digit
Since digits are allowed for identifiers, we have to cater to them as
well.
George Peter Banyard [Tue, 20 Aug 2019 18:15:22 +0000 (20:15 +0200)]
Remove dead code in base64.c
Remi Collet [Tue, 20 Aug 2019 14:31:11 +0000 (16:31 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
ensure proper settings for test
Remi Collet [Tue, 20 Aug 2019 14:30:52 +0000 (16:30 +0200)]
ensure proper settings for test
Derick Rethans [Tue, 20 Aug 2019 14:10:36 +0000 (14:10 +0000)]
Update NEWS for 7.4.0RC1
Derick Rethans [Tue, 20 Aug 2019 14:09:17 +0000 (14:09 +0000)]
Update NEWS for PHP 7.4.0beta4
Christoph M. Becker [Tue, 20 Aug 2019 14:04:14 +0000 (16:04 +0200)]
Fix #78386: fstat mode has unexpected value on PHP 7.4
We must not assume that any file which is not a directory is a regular
file. Therefore we employ `GetFileType()` in this case to properly
distinguish between character special, FIFO special and regular files.
Christoph M. Becker [Tue, 20 Aug 2019 11:58:54 +0000 (13:58 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Don't use C++ style comments
Christoph M. Becker [Tue, 20 Aug 2019 11:58:22 +0000 (13:58 +0200)]
Don't use C++ style comments
Cf. <https://github.com/php/php-src/blob/
f45b61b8988b5b2d80dd4a1df7edd04282cf319a /CODING_STANDARDS.md#syntax-and-indentation>
cc @mcmic
Christoph M. Becker [Tue, 20 Aug 2019 11:34:42 +0000 (13:34 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
fix the problem for connect_attr, set db condition, and add a new attribute _server_host
Christoph M. Becker [Tue, 20 Aug 2019 11:32:53 +0000 (13:32 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
fix the problem for connect_attr, set db condition, and add a new attribute _server_host
Qianqian Bu [Mon, 12 Aug 2019 02:00:31 +0000 (04:00 +0200)]
fix the problem for connect_attr, set db condition, and add a new attribute _server_host
Christoph M. Becker [Mon, 19 Aug 2019 17:58:20 +0000 (19:58 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #78220: Can't access OneDrive folder
Christoph M. Becker [Mon, 19 Aug 2019 17:56:12 +0000 (19:56 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix #78220: Can't access OneDrive folder
Christoph M. Becker [Mon, 19 Aug 2019 17:44:37 +0000 (19:44 +0200)]
Fix #78220: Can't access OneDrive folder
As of Windows 1903, when the OneDrive on-demand feature is enabled, the
OneDrive folder is reported as reparse point by `FindFirstFile()`, but
trying to get information about the reparse point using
`DeviceIoControl()` fails with `ERROR_NOT_A_REPARSE_POINT`. We work
around this problem by falling back to `GetFileInformationByHandle()`
if that happens, but only if the reparse point is reported as cloud
reparse point, and only if PHP is running on Windows 1903 or later.
The patch has been developed in collaboration with ab@php.net.
We should keep an eye on the somewhat quirky OneDrive behavior, since
it might change again in a future Windows release.
Nikita Popov [Sat, 17 Aug 2019 08:59:52 +0000 (10:59 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Sat, 17 Aug 2019 08:57:26 +0000 (10:57 +0200)]
Fixed bug #77922
In PHP 7.3 shadow properties are no longer duplicated. Make sure we
only release them if the property was defined on the parent class,
which means that it changed from private->shadow, which is where
duplication does happen.
Sara Golemon [Fri, 16 Aug 2019 16:41:32 +0000 (12:41 -0400)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Suppress deprecation warning on IDNA2003 ICU methods
Sara Golemon [Fri, 16 Aug 2019 16:41:02 +0000 (12:41 -0400)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Suppress deprecation warning on IDNA2003 ICU methods
Sara Golemon [Fri, 16 Aug 2019 16:40:20 +0000 (12:40 -0400)]
Suppress deprecation warning on IDNA2003 ICU methods
Sara Golemon [Fri, 16 Aug 2019 15:40:01 +0000 (11:40 -0400)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Revert "Move to non deprecated API on suitable ICU versions"
Sara Golemon [Fri, 16 Aug 2019 15:25:33 +0000 (11:25 -0400)]
Revert "Move to non deprecated API on suitable ICU versions"
This reverts commit
13a2f2d041999dca0066542f2a552798fab9a13d .
The APIs used by this commit aren't entirely equivalent to the original ones.
Jan Altensen [Thu, 15 Aug 2019 14:11:13 +0000 (16:11 +0200)]
appveyor: exclude some documentation paths
Change-Id: Ifff234133f4437bfe5c31c1f1e00092cd60e1d53
Christoph M. Becker [Thu, 15 Aug 2019 13:30:03 +0000 (15:30 +0200)]
Empty merge
Christoph M. Becker [Thu, 15 Aug 2019 13:28:52 +0000 (15:28 +0200)]
Update NEWS
This fix has been cherry-picked into PHP-7.3.9.
Nikita Popov [Thu, 15 Aug 2019 08:38:43 +0000 (10:38 +0200)]
Fixed bug #78409
This removes an incorrect optimization (I think this code used to be
necessary to properly handle references in the Serializable based
implementation, but now this code just avoids an array duplication
in a way that is not sound).
Christoph M. Becker [Wed, 14 Aug 2019 17:25:48 +0000 (19:25 +0200)]
Empty merge
Christoph M. Becker [Wed, 14 Aug 2019 17:24:16 +0000 (19:24 +0200)]
Update credits_ext.h
Nikita Popov [Wed, 14 Aug 2019 15:53:24 +0000 (17:53 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Wed, 14 Aug 2019 14:58:54 +0000 (16:58 +0200)]
Fix reference printing in GC tracing
Nikita Popov [Wed, 14 Aug 2019 15:51:26 +0000 (17:51 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Wed, 14 Aug 2019 15:48:57 +0000 (17:48 +0200)]
Fixed bug #78412
$this should only be included in the generator GC buffer, if it
will be released on destruction.