]>
granicus.if.org Git - php/log
Christoph M. Becker [Tue, 21 Jul 2020 07:52:04 +0000 (09:52 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
7.3 is now 7.3.22-dev
Christoph M. Becker [Tue, 21 Jul 2020 07:18:07 +0000 (09:18 +0200)]
7.3 is now 7.3.22-dev
Christoph M. Becker [Mon, 20 Jul 2020 12:43:59 +0000 (14:43 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #63527: DCOM does not work with Username, Password parameter
Christoph M. Becker [Fri, 10 Jul 2020 13:43:32 +0000 (15:43 +0200)]
Fix #63527: DCOM does not work with Username, Password parameter
We must not mix multibyte and wide character strings in the
`COAUTHIDENTITY` structure. Using wide character strings throughout
would have the advantage that the remote connection can be established
regardless of the code page of the server, but that would more likely
break BC, so we just drop the wide character string conversion of the
username.
Nikita Popov [Fri, 17 Jul 2020 12:50:22 +0000 (14:50 +0200)]
Fixed bug #79839
Add reference type sources in array_walk.
Nikita Popov [Thu, 16 Jul 2020 19:17:21 +0000 (21:17 +0200)]
Revert "Drop freetype from i386"
This reverts commit
8641d76f62273f3a73449fd720c93c63992f3b5a .
This appears to work again now...
Nikita Popov [Thu, 16 Jul 2020 14:09:41 +0000 (16:09 +0200)]
Fix azure i386 build
Purge libsqlite3-0 to make sure we get the i386 library lateron.
Christoph M. Becker [Thu, 16 Jul 2020 11:09:50 +0000 (13:09 +0200)]
Enable further tests on Windows
Remi Collet [Thu, 16 Jul 2020 10:05:45 +0000 (12:05 +0200)]
#79657 was cherry-picked in 7.4.7
Christoph M. Becker [Wed, 15 Jul 2020 15:28:24 +0000 (17:28 +0200)]
Fix readlink related memory leak
Christoph M. Becker [Wed, 15 Jul 2020 11:19:27 +0000 (13:19 +0200)]
Fix tests regarding negative fileinode()
The results of `fileinode()` may be negative due to wrap-around
behavior (at least on Windows as of PHP 7.4.0).
Nikita Popov [Wed, 15 Jul 2020 13:10:28 +0000 (15:10 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix bug #78008: dns_check_record() always return true on Alpine
Andy Postnikov [Tue, 14 Jul 2020 01:14:05 +0000 (04:14 +0300)]
Fix bug #78008: dns_check_record() always return true on Alpine
- free handle before return result
- cleaned up remaining usage of MAXPACKET
- update dns_get_mx() to use the same approach
Closes GH-5854.
Nikita Popov [Wed, 15 Jul 2020 12:59:55 +0000 (14:59 +0200)]
Fixed bug #79862
While normally a private property in the active scope would take
priority, we should not use this if it has the wrong "staticness".
Christopher Broadbent [Wed, 15 Jul 2020 04:47:21 +0000 (14:47 +1000)]
Fixed bug #79820
Similar to what is done for ReflectionType itself, copy the
type name stored inside ReflectionProperty. Also make sure the
type field is always initialized for dynamic properties.
This is a non-issue in PHP 8, because we store a pointer to the
property_info there, rather than a copy.
Nikita Popov [Tue, 14 Jul 2020 10:43:58 +0000 (12:43 +0200)]
Merge remote-tracking branch 'upstream/PHP-7.4' into PHP-7.4
* upstream/PHP-7.4:
Fix test for x86 Windows
Nikita Popov [Tue, 14 Jul 2020 10:42:46 +0000 (12:42 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fixed bug #79849
Evgeny Stepanischev [Mon, 13 Jul 2020 12:16:39 +0000 (15:16 +0300)]
Fixed bug #79849
Closes GH-5853.
Christoph M. Becker [Mon, 13 Jul 2020 08:45:47 +0000 (10:45 +0200)]
Fix test for x86 Windows
`st_dev` deliberately overflows on such systems, cf.
<http://svn.php.net/viewvc?view=revision&revision=350100>.
twosee [Sat, 11 Jul 2020 10:31:30 +0000 (18:31 +0800)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fixed BC break of php_debug_zval_dump
twosee [Sat, 11 Jul 2020 10:30:28 +0000 (18:30 +0800)]
Fixed BC break of php_debug_zval_dump
It introduced by fixing bug #79830
twosee [Sat, 11 Jul 2020 06:38:27 +0000 (14:38 +0800)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fixed bug #79830 introduced by fixing bug #79821
twosee [Sat, 11 Jul 2020 06:37:25 +0000 (14:37 +0800)]
Fixed bug #79830 introduced by fixing bug #79821
This also fixes memory error in debug_zval_dump and var_export.
twosee [Fri, 10 Jul 2020 22:15:28 +0000 (06:15 +0800)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fixed bug #79821
twosee [Fri, 10 Jul 2020 22:14:22 +0000 (06:14 +0800)]
Fixed bug #79821
HashTable was reallocated (zend_hash_packed_grow) during php_var_dump, so we should call GC_ADDREF to make SEPARATE_ARRAY work.
Closes GH-5837.
Nikita Popov [Fri, 10 Jul 2020 12:07:17 +0000 (14:07 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fixed bug #79817
Nikita Popov [Fri, 10 Jul 2020 12:06:41 +0000 (14:06 +0200)]
Fixed bug #79817
Use *_IND macros in a few places in string.c.
Christoph M. Becker [Fri, 10 Jul 2020 09:19:01 +0000 (11:19 +0200)]
Enable further ext/standard/tests/file tests on Windows
Christoph M. Becker [Fri, 10 Jul 2020 09:22:07 +0000 (11:22 +0200)]
Fix skip reasons
These tests fail on Windows for different reasons, but not because
symlinks, links, or lstat() would not be supported on Windows
generally.
Christoph M. Becker [Thu, 9 Jul 2020 08:43:20 +0000 (10:43 +0200)]
Enable symlink_link_linkinfo_is_link_* tests on Windows
We mark symlink_link_linkinfo_is_link_error2.phpt as XFAIL on Windows
ZTS. Several Windows API file system functions ignore trailing spaces
in absolute filenames after the final directory separator, which causes
`link(' ', $link)` to actually call `CreateHardLink()` which then
fails, because linking folders is not supported. However, with NTS
builds (as well as on other systems), the $target is found to not
exist, so the function fails without actually attempting to create the
link. This needs further investigation.
Paweł Tomulik [Fri, 3 Jul 2020 10:49:25 +0000 (12:49 +0200)]
enable ext/ldap/tests on azure
Paweł Tomulik [Fri, 3 Jul 2020 10:50:40 +0000 (12:50 +0200)]
fix some ext/ldap/tests
Nikita Popov [Fri, 10 Jul 2020 07:47:59 +0000 (09:47 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix some memory bugs in ldap.c
Paweł Tomulik [Fri, 3 Jul 2020 00:11:44 +0000 (02:11 +0200)]
Fix some memory bugs in ldap.c
Christoph M. Becker [Thu, 9 Jul 2020 10:35:31 +0000 (12:35 +0200)]
Prevent parallel test conflicts
Both tests used the same folder, which could clash in case the tests
are run simultaneously.
Nikita Popov [Thu, 9 Jul 2020 09:54:08 +0000 (11:54 +0200)]
Switch back to FREE_UNFETCHED_OP_DATA
Some of the code paths leading to this do not fetch op data.
Hopefully this fixes the release build failure.
Nikita Popov [Thu, 9 Jul 2020 09:11:24 +0000 (11:11 +0200)]
Fix bug #79599 in a different way
Move the emission of the undefined variable notice before the
array separation.
Nikita Popov [Thu, 9 Jul 2020 08:51:30 +0000 (10:51 +0200)]
Revert "Fixed bug #97599 (coredump in set_error_handler)"
This reverts commit
ccd41e083359cf6dd264f88806dce4cc49d9358e .
This causes a large performance regression when notices are thrown
and large arrays are in scope, see bug #79794.
Derick Rethans [Thu, 9 Jul 2020 08:48:35 +0000 (09:48 +0100)]
Revert "Partial fixed bug #79649 (Altering disable_functions from module init corrupts memory)"
This reverts commit
a297c09da5ad355d53a8e8ea72655a06d15b7bc7 .
Nikita Popov [Wed, 8 Jul 2020 09:21:48 +0000 (11:21 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix bug #79787
XXiang [Sat, 4 Jul 2020 14:12:57 +0000 (22:12 +0800)]
Fix bug #79787
Closes GH-5807.
Christoph M. Becker [Wed, 8 Jul 2020 08:39:47 +0000 (10:39 +0200)]
[ci skip] Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Report len as -1 instead of INT_MAX
Nikita Popov [Wed, 3 Jun 2020 08:15:54 +0000 (10:15 +0200)]
Report len as -1 instead of INT_MAX
Per docs it should be -1. And would be on 32-bit systems, but
not on 64-bit systems.
(cherry picked from commit
39111585a2f8e40e72bdc662eb8b2e3c19e93615 )
Sara Golemon [Tue, 7 Jul 2020 19:34:08 +0000 (19:34 +0000)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Prep for 7.2.33
Prep NEWS for 7.2.32 release
Sara Golemon [Tue, 7 Jul 2020 19:33:11 +0000 (19:33 +0000)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Prep for 7.2.33
Prep NEWS for 7.2.32 release
Sara Golemon [Tue, 7 Jul 2020 19:31:32 +0000 (19:31 +0000)]
Prep for 7.2.33
Sara Golemon [Tue, 7 Jul 2020 19:31:05 +0000 (19:31 +0000)]
Prep NEWS for 7.2.32 release
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 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: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:21:26 +0000 (13:21 +0200)]
Don't use deprecated curly brace offset syntax
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: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 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: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: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.
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>.
Christoph M. Becker [Fri, 3 Jul 2020 07:02:55 +0000 (09:02 +0200)]
Skip test if SeCreateSymbolicLinkPrivilege is not given
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>
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:30:13 +0000 (15:30 +0200)]
Update php_version.h
That has apparently been overlooked.
Christoph M. Becker [Thu, 2 Jul 2020 09:56:41 +0000 (11:56 +0200)]
Extract test helper function for SeCreateSymbolicLinkPrivilege check
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.
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 [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
Nikita Popov [Tue, 30 Jun 2020 15:28:47 +0000 (17:28 +0200)]
Remove bogus generator iterator dtor
Fixes a use-after-free encountered in Symfony's SecurityBundle.
I don't have a reproducer for this, and believe the issue can only
occur if we leak an iterator (the leak is a separate issue).
We should not free the generator iterator here, because we do not
own it. The code that fetched the iterator is responsible for
releasing it. In the rare case where we do hit this code-path,
we cause a use-after-free.
Nikita Popov [Tue, 30 Jun 2020 10:25:29 +0000 (12:25 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix leak when setting cyclic previous exception in finally
Nikita Popov [Tue, 30 Jun 2020 10:22:41 +0000 (12:22 +0200)]
Fix leak when setting cyclic previous exception in finally
A curious exception handling pattern found in Symfony's HttpClient.
Christoph M. Becker [Tue, 30 Jun 2020 08:47:49 +0000 (10:47 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #70362: Can't copy() large 'data://' with open_basedir
Christoph M. Becker [Thu, 5 Mar 2020 11:20:04 +0000 (12:20 +0100)]
Fix #70362: Can't copy() large 'data://' with open_basedir
open_basedir is only relevant for plain files, so there is no need to
check it for other URL wrappers.
Christoph M. Becker [Mon, 29 Jun 2020 17:05:37 +0000 (19:05 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #63208: BSTR to PHP string conversion not binary safe
Christoph M. Becker [Mon, 29 Jun 2020 15:38:14 +0000 (17:38 +0200)]
Fix #63208: BSTR to PHP string conversion not binary safe
A `BSTR` is similar to a `zend_string`; it stores the length of the
string just before the actual string, and thus the string may contain
NUL bytes. However, `php_com_olestring_to_string()` is supposed to
deal with arbitrary `OLECHAR*`s which may not be `BSTR`s, so we
introduce `php_com_bstr_to_string()` and use it for the only case where
we actually have to deal with `BSTR`s which may contain NUL bytes.
Contrary to `php_com_olestring_to_string()` we return a `zend_string`,
so we can save the re-allocation when converting to a `zval`.
We also cater to `php_com_string_to_olestring()` not being binary safe,
with basically the same fix we did for `php_com_olestring_to_string()`.
Christoph M. Becker [Mon, 29 Jun 2020 15:46:31 +0000 (17:46 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #79756: finfo_file crash (FILEINFO_MIME)
Christoph M. Becker [Mon, 29 Jun 2020 14:10:33 +0000 (16:10 +0200)]
Fix #79756: finfo_file crash (FILEINFO_MIME)
If `ctime` or `asctime` return `NULL`, we must not attempt to copy the
buffer, but rather return `NULL` as well.
Nikita Popov [Mon, 29 Jun 2020 07:52:37 +0000 (09:52 +0200)]
Don't inline static call to instance method
Fixes the failure in bug79740.phpt with opcache.
Nikita Popov [Fri, 26 Jun 2020 10:29:23 +0000 (12:29 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fixed bug #79741
Nikita Popov [Fri, 26 Jun 2020 10:26:46 +0000 (12:26 +0200)]
Fixed bug #79741
Nikita Popov [Fri, 26 Jun 2020 08:31:55 +0000 (10:31 +0200)]
Fixed bug #79740
Nikita Popov [Wed, 24 Jun 2020 12:42:52 +0000 (14:42 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fixed bug #79030 Use usec from apache request time
Herbert256 [Wed, 24 Jun 2020 07:44:35 +0000 (09:44 +0200)]
Fixed bug #79030 Use usec from apache request time
Don't unnecessarily truncate to milliseconds.
Closes GH-5760.
Nikita Popov [Wed, 24 Jun 2020 10:20:05 +0000 (12:20 +0200)]
Handle *0 / *1 more consistently
Avoid throwing a DES salt deprecation warning if the libc crypt
implementation is used.
Christoph M. Becker [Wed, 24 Jun 2020 09:43:04 +0000 (11:43 +0200)]
Fix potential environment variable deadlock
We have to unlock the environment before bailing out.
Christoph M. Becker [Wed, 15 Apr 2020 13:15:21 +0000 (15:15 +0200)]
Fix #69804: ::getStaticPropertyValue() throws on protected props
`ReflectionClass` allows reading of the values of private and protected
constants, and also to get private and protected static methods.
Therefore getting the values of private and protected static properties
is also permissible, especially since `::getStaticProperties()` already
allows to do so.
We also allow ::setStaticPropertyValue() to modify private and
protected properties, because otherwise this method is useless, as
modifying public properties can be done directly.
Christoph M. Becker [Wed, 24 Jun 2020 08:03:46 +0000 (10:03 +0200)]
Fix #79487: ::getStaticProperties() ignores property modifications
When retrieving the static class properties via reflection, we have to
cater to possible modifications.
Christoph M. Becker [Tue, 23 Jun 2020 17:28:51 +0000 (19:28 +0200)]
Revert "Fix #79487: ::getStaticProperties() ignores property modifications"
This reverts commit
a895bb6885fbceea3e8375816969d5510d8d082e .
Christoph M. Becker [Tue, 23 Jun 2020 16:34:07 +0000 (18:34 +0200)]
Fix #79487: ::getStaticProperties() ignores property modifications
When retrieving the static class properties via reflection, we have to
cater to possible modifications.
Christoph M. Becker [Tue, 23 Jun 2020 13:58:49 +0000 (15:58 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #55857: ftp_size on large files
Christoph M. Becker [Tue, 23 Jun 2020 13:17:31 +0000 (15:17 +0200)]
Fix #55857: ftp_size on large files
`atol()` returns a `long` which is not the same as `zend_long` on
LLP64; we use `ZEND_ATOL()` instead.
There is no need for a new test case, since filesize_large.phpt already
tests for that behavior; unfortunately, the FTP test suite relies on
`pcntl_fork()` and therefore cannot be run on Windows.
Nikita Popov [Tue, 23 Jun 2020 10:35:11 +0000 (12:35 +0200)]
Restore XFAIL on fpm test
Still fails intermittently.
Christoph M. Becker [Tue, 23 Jun 2020 08:32:25 +0000 (10:32 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
7.3 is now 7.3.21-dev
Christoph M. Becker [Tue, 23 Jun 2020 08:29:42 +0000 (10:29 +0200)]
7.3 is now 7.3.21-dev
Derick Rethans [Tue, 23 Jun 2020 07:46:37 +0000 (08:46 +0100)]
PHP-7.4 is now 7.4.9-dev
Anatol Belski [Sun, 21 Jun 2020 20:16:56 +0000 (22:16 +0200)]
SplHeap: Avoid memcpy on overlapping pointer
Check if data would overlap and also add an assert. Previous
implementations didn't have this issue, as the direct assignment was
used.
Signed-off-by: Anatol Belski <ab@php.net>
Nikita Popov [Fri, 19 Jun 2020 15:32:00 +0000 (17:32 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fixed bug #79570
Böszörményi Zoltán [Fri, 19 Jun 2020 12:31:28 +0000 (14:31 +0200)]
Fixed bug #79570
Use the same logic for getgrgid_r, getpwnam_r and getpwuid_r
as for getgrnam_r in #75696
Closes GH-5740.
Nikita Popov [Fri, 19 Jun 2020 08:47:01 +0000 (10:47 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Fri, 19 Jun 2020 08:46:02 +0000 (10:46 +0200)]
Fixed bug #79710
Make sure we don't use zresource after the stream has been destroyed.