]>
granicus.if.org Git - php/log
Nikita Popov [Mon, 30 Dec 2019 22:21:32 +0000 (23:21 +0100)]
Also propagate include exceptions in opcache
Nikita Popov [Mon, 30 Dec 2019 22:06:12 +0000 (23:06 +0100)]
Make url_stats in resolve_path quiet
These stats are used to check whether the file exists -- they
should not generate errors. Having the flag set is particularly
important for custom stream wrappers.
Christoph M. Becker [Mon, 30 Dec 2019 22:13:39 +0000 (23:13 +0100)]
Avoid undefined behavior
Nikita Popov [Mon, 30 Dec 2019 21:47:38 +0000 (22:47 +0100)]
Properly propagate url_stat exceptions during include
Make sure we abort operations early, and that we don't emit
additional warnings or errors if an exception has been thrown.
Nikita Popov [Mon, 30 Dec 2019 16:22:50 +0000 (17:22 +0100)]
Fixed bug #79046
Christoph M. Becker [Mon, 30 Dec 2019 14:17:03 +0000 (15:17 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #79040: Warning Opcode handlers are unusable due to ASLR
Christoph M. Becker [Mon, 30 Dec 2019 11:20:31 +0000 (12:20 +0100)]
Fix #79040: Warning Opcode handlers are unusable due to ASLR
We must not use the same shared memory OPcache instance for different
SAPIs, since their memory layout is different. To avoid this, we add
the SAPI name (truncated to at most 20 characters) to the names of the
memory base file, the mutex and the file mapping.
Nikita Popov [Mon, 30 Dec 2019 10:31:27 +0000 (11:31 +0100)]
Add test for bug #79031
Fixed by preceding revert.
Nikita Popov [Mon, 30 Dec 2019 10:27:13 +0000 (11:27 +0100)]
Revert "Increase serialize_lock while decoding session"
This reverts commit
b8ef7c35abd31666d9fb317db4b09a9eef0ede6c .
See bug #79031. The semantics of serialize locking aren't quite
correct right now, and the use of the lock in this particular
place makes us hit the issue in a common case. I'm reverting this
commit for PHP 7.4 and will try to fix this properly for PHP 8,
as I believe it will require ABI breakage.
Christoph M. Becker [Sat, 28 Dec 2019 10:01:22 +0000 (11:01 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Add missing skipif clause
Christoph M. Becker [Sat, 28 Dec 2019 10:00:37 +0000 (11:00 +0100)]
Add missing skipif clause
Christoph M. Becker [Sat, 28 Dec 2019 09:47:52 +0000 (10:47 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #79033: Curl timeout error with specific url and post
Christoph M. Becker [Sat, 28 Dec 2019 09:47:03 +0000 (10:47 +0100)]
Fix #79033: Curl timeout error with specific url and post
We must not set an empty mime structure as `CURLOPT_MIMEPOST`; instead
we set it to `NULL` if `CURLOPT_POSTFIELDS` has been set to an empty
array.
Nikita Popov [Fri, 27 Dec 2019 15:17:10 +0000 (16:17 +0100)]
Handle empty password fast path in caching_sha2_password
If an empty password is used, no additional packets are exchanged
during caching_sha2_password auth. We're only looking for an
OK/ERR response.
Nikita Popov [Fri, 27 Dec 2019 15:07:28 +0000 (16:07 +0100)]
Handle error response during caching_sha2_password auth
In particular, this fixes handling of expired passwords.
Nikita Popov [Fri, 27 Dec 2019 13:40:54 +0000 (14:40 +0100)]
Add support for caching_sha2_password in change user authentication
Same as for connection handshakes.
Nikita Popov [Fri, 27 Dec 2019 12:27:10 +0000 (13:27 +0100)]
Fix unix socket check during caching_sha2_password
The fact that conn->unix_socket is set does not mean that a Unix
socket is actually in use -- this member is set in a default
configuration.
Instead check whether a unix_socket stream ops is used.
Nikita Popov [Fri, 27 Dec 2019 11:37:51 +0000 (12:37 +0100)]
Support auth switch request during caching sha2 auth
Nikita Popov [Fri, 27 Dec 2019 15:21:21 +0000 (16:21 +0100)]
Don't use PASSWORD() function in test
Doesn't exist anymore in MySQL 8.
Nikita Popov [Fri, 27 Dec 2019 15:39:46 +0000 (16:39 +0100)]
Specify explicit row order in PDO MySQL test
Nikita Popov [Fri, 27 Dec 2019 15:31:34 +0000 (16:31 +0100)]
Skip bug77956.phpt if local_infile disabled on server
Nikita Popov [Fri, 27 Dec 2019 13:02:18 +0000 (14:02 +0100)]
Don't check TIMESTAMP NOT NULL in fetch_field_flags test
The behavior of this is very dependent on the MySQL vendor, MySQL
version and MySQL configuration, in particular the
explicit_defaults_for_timestamp variable.
I don't think it's worthwhile to try and model this exactly, so
drop the test.
Nikita Popov [Fri, 27 Dec 2019 12:45:00 +0000 (13:45 +0100)]
Don't test the RENAME DATABASE query
Apparently this only existed for a short time, because it was
found to be insecure. Don't try to test it.
Nikita Popov [Fri, 27 Dec 2019 12:38:14 +0000 (13:38 +0100)]
Make GeomFromText tests compatible with MySQL 8
The function has been renamed to ST_GeomFromText.
Christoph M. Becker [Fri, 27 Dec 2019 14:01:09 +0000 (15:01 +0100)]
Skip test for clang builds
On Windows, clang builds don't use __vectorcall, so executing this test
does not make sense.
Christoph M. Becker [Wed, 25 Dec 2019 11:34:47 +0000 (12:34 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fixed bug #79029 (Use After Free's in XMLReader / XMLWriter).
Xinchen Hui [Wed, 25 Dec 2019 11:05:44 +0000 (12:05 +0100)]
Fixed bug #79029 (Use After Free's in XMLReader / XMLWriter).
We backport the fix PHP 7.3, since this branch is affected as well.
(cherry picked from commit
b5e004379647bd1ebb75eb2eac8826fb6abdd3d8 )
(cherry picked from commit
e36daa6927c05d2e687bb77495ef206cde118b33 )
(cherry picked from commit
2704ee6844c03348de9d15e74646d09007ef0f7c )
Christoph M. Becker [Wed, 25 Dec 2019 11:05:44 +0000 (12:05 +0100)]
Fix test case
As of PHP 7.3.0, unlinking files with open handles is possible on
Windows, but these file entries are still blocked until all open
handles are closed. Since this test doesn't require to write to the
same file, we use three separate files.
We also add the missing skip check for XMLReader.
Xinchen Hui [Wed, 25 Dec 2019 07:55:15 +0000 (15:55 +0800)]
Fixed bug #79029 (Use After Free's in XMLReader / XMLWriter).
Xinchen Hui [Wed, 25 Dec 2019 07:27:10 +0000 (15:27 +0800)]
Revert "Fixed bug #79029 (Use After Free's in XMLReader / XMLWriter)"
This reverts commit
d8ad2f4695ebd6dc2d4e668d9baeac1c071791a6 .
Xinchen Hui [Wed, 25 Dec 2019 05:14:08 +0000 (13:14 +0800)]
Fixed bug #79029 (Use After Free's in XMLReader / XMLWriter)
Xinchen Hui [Wed, 25 Dec 2019 04:43:44 +0000 (12:43 +0800)]
Partial fix for bug #79029
Xinchen Hui [Tue, 24 Dec 2019 06:20:55 +0000 (14:20 +0800)]
Similar problem (#79022) also exists in Interfaces
Xinchen Hui [Tue, 24 Dec 2019 06:04:19 +0000 (14:04 +0800)]
Fixed bug #79022 (class_exists returns True for classes that are not ready to be used)
Nikita Popov [Fri, 20 Dec 2019 15:15:24 +0000 (16:15 +0100)]
Fix leak when generator closed during yield in finally
In this case we need to free any pending exceptions or return values
that will be discarded.
Christoph M. Becker [Fri, 20 Dec 2019 15:23:32 +0000 (16:23 +0100)]
Fix #79008: General performance regression with PHP 7.4 on Windows
We no longer try to retrieve the filename of a given stream when
fstat'ing, because this is very slow. Since we neither didn't do that
in PHP 7.3 and earlier, we regard this as sensible trade-off.
Nikita Popov [Fri, 20 Dec 2019 12:51:31 +0000 (13:51 +0100)]
Try to make proc_open_bug69900.phpt more robust
Nikita Popov [Fri, 20 Dec 2019 11:05:39 +0000 (12:05 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #78982: pdo_pgsql returns dead persistent connection
SATO Kentaro [Tue, 17 Dec 2019 17:36:03 +0000 (02:36 +0900)]
Fix #78982: pdo_pgsql returns dead persistent connection
Call PQconsumeInput() before PQstatus() to update the status.
Nikita Popov [Fri, 20 Dec 2019 10:44:23 +0000 (11:44 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #78980: pgsqlGetNotify() overlooks dead connection
SATO Kentaro [Tue, 17 Dec 2019 17:16:55 +0000 (02:16 +0900)]
Fix #78980: pgsqlGetNotify() overlooks dead connection
pgsqlGetNotify() didn't check result of PQconsumeInput().
Nikita Popov [Thu, 19 Dec 2019 12:27:09 +0000 (13:27 +0100)]
Fixed bug #79000
Don't report EAGAIN/EWOULDBLOCK as errors for fwrite on
non-blocking socket streams. This matches behavior for fread,
as well as behavior for plain file streams.
Closes GH-5026.
Nikita Popov [Fri, 20 Dec 2019 10:24:03 +0000 (11:24 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #74170: locale information change after mime_content_type
Sergei Turchanov [Thu, 29 Aug 2019 07:29:19 +0000 (17:29 +1000)]
Fix #74170: locale information change after mime_content_type
Some functions in libmagic (distributed with fileinfo extension) perform this sequence of calls:
func() {
setlocale(LC_TYPE, "C")
.. do some work ..
setlocale(LC_TYPE, "")
}
It effectively resets LC_TYPE if it that was set before the function call.
To avoid manipulations with current locale at all, the problematic functions
were modified to use locale-independent functions.
Nikita Popov [Fri, 20 Dec 2019 10:02:57 +0000 (11:02 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #78402: pcntl_signal() misleading error message
SATO Kentaro [Tue, 17 Dec 2019 19:03:42 +0000 (04:03 +0900)]
Fix #78402: pcntl_signal() misleading error message
An error message can be misleading when a handler
passed to pcntl_signal() is not callable.
Nikita Popov [Fri, 20 Dec 2019 09:33:18 +0000 (10:33 +0100)]
Fix early free of assign_obj op_data
We need to make sure that op_data is only freed after populating
result, as op_data may be the only thing holding the value in the
case of an overloaded assignment.
This reverts the code to how it looked like in 7.3.
Dmitry Stogov [Thu, 19 Dec 2019 20:17:39 +0000 (23:17 +0300)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fixed bug #78999 (Cycle leak when using function result as temporary)
Dmitry Stogov [Thu, 19 Dec 2019 20:11:08 +0000 (23:11 +0300)]
Fixed bug #78999 (Cycle leak when using function result as temporary)
Christoph M. Becker [Thu, 19 Dec 2019 12:21:05 +0000 (13:21 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #78983: pdo_pgsql config.w32 cannot find libpq-fe.h
SATO Kentaro [Tue, 17 Dec 2019 17:47:08 +0000 (02:47 +0900)]
Fix #78983: pdo_pgsql config.w32 cannot find libpq-fe.h
When configured with a path specified.
Nikita Popov [Thu, 19 Dec 2019 10:46:14 +0000 (11:46 +0100)]
Avoid signed integer overflow in string offset check
Cast to size_t before performing operations instead of afterwards.
Nikita Popov [Thu, 19 Dec 2019 09:43:14 +0000 (10:43 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Add destructor annotations in ini parser
Nikita Popov [Thu, 19 Dec 2019 09:42:10 +0000 (10:42 +0100)]
Add destructor annotations in ini parser
It would be better to switch this to use %union and %type annotations,
but not going to do that change for 7.3.
Nikita Popov [Wed, 18 Dec 2019 16:18:10 +0000 (17:18 +0100)]
Fix leak in assign_ref with function
As far as I can see, the retval copying is already done in all
callers of this function, so it should not be duplicated here.
Nikita Popov [Wed, 18 Dec 2019 14:53:09 +0000 (15:53 +0100)]
Fixed bug #78776
By using the normal inheritance check if the parent is abstract
as well.
Remi Collet [Wed, 18 Dec 2019 13:18:03 +0000 (14:18 +0100)]
fix release date
Remi Collet [Wed, 18 Dec 2019 13:17:49 +0000 (14:17 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
fix release date
fix release date
Remi Collet [Wed, 18 Dec 2019 13:17:31 +0000 (14:17 +0100)]
fix release date
Remi Collet [Wed, 18 Dec 2019 13:17:21 +0000 (14:17 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
fix release date
Remi Collet [Wed, 18 Dec 2019 13:16:19 +0000 (14:16 +0100)]
fix release date
Nikita Popov [Wed, 18 Dec 2019 10:37:39 +0000 (11:37 +0100)]
Fixed bug #78986
Don't assume that handlers live in the arena, they may also be in
SHM.
Fabien Villepinte [Wed, 18 Dec 2019 10:08:24 +0000 (11:08 +0100)]
Add CONFLICTS tag
These tests can be the reason file_get_contents_variation8.phpt fails times to times.
Nikita Popov [Wed, 18 Dec 2019 10:04:46 +0000 (11:04 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Rethrow generator exception even without active stack frame
Nikita Popov [Wed, 18 Dec 2019 10:02:44 +0000 (11:02 +0100)]
Rethrow generator exception even without active stack frame
Finally blocks in generators may be invoked during shutdown, in
which case we don't have a stack frame. Similar to what
zend_call_function does, we still need to rethrow these exceptions,
otherwise they will be hidden (and leak).
Nikita Popov [Wed, 18 Dec 2019 09:24:02 +0000 (10:24 +0100)]
Fix use-after-free when trying to write to closure property
Nikita Popov [Wed, 18 Dec 2019 09:11:23 +0000 (10:11 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix freeing of dynamic call name
Nikita Popov [Wed, 18 Dec 2019 09:10:30 +0000 (10:10 +0100)]
Fix freeing of dynamic call name
We need to free op2 if the call construction fails.
Also remove a redundant check for !call.
Nikita Popov [Wed, 18 Dec 2019 08:53:30 +0000 (09:53 +0100)]
Fix const/cv freeing on failed reference assignment
Christoph M. Becker [Tue, 17 Dec 2019 19:01:18 +0000 (20:01 +0100)]
More updates to CONTRIBUTING.md
7.4 is stable.
Christoph M. Becker [Tue, 17 Dec 2019 18:57:49 +0000 (19:57 +0100)]
Update CONTRIBUTING.md
7.1 is EOL; 7.2 is security fixes only.
Christoph M. Becker [Tue, 17 Dec 2019 16:52:18 +0000 (17:52 +0100)]
Fix #78976: SplFileObject::fputcsv returns -1 on failure
`php_stream_write()` returns `-1` on failure now, which has to be
catered to by `SplFileObject::fputcsv()` which still is supposed to
return `false` on failure.
Nikita Popov [Tue, 17 Dec 2019 15:44:17 +0000 (16:44 +0100)]
Free buffer in php_verror even if it is empty
vspprintf allocates a buffer even if the resulting string is empty.
Nikita Popov [Tue, 17 Dec 2019 15:26:42 +0000 (16:26 +0100)]
Fix resetting of internal_encoding and friends
We need to update the value even if new_value is NULL. In particular,
it should be reset back to NULL after each request if the setting was
not specified on startup. Otherwise we leave dangling pointers.
Nikita Popov [Tue, 17 Dec 2019 12:15:01 +0000 (13:15 +0100)]
Avoid float to int cast UB in exif
Christoph M. Becker [Tue, 17 Dec 2019 09:05:18 +0000 (10:05 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Update/fix NEWS [ci skip]
Christoph M. Becker [Tue, 17 Dec 2019 08:51:30 +0000 (09:51 +0100)]
Update/fix NEWS [ci skip]
Christoph M. Becker [Tue, 17 Dec 2019 09:02:43 +0000 (10:02 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
[ci skip] Update NEWS
[ci skip] Update NEWS
Fix test
Christoph M. Becker [Tue, 17 Dec 2019 09:01:50 +0000 (10:01 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
[ci skip] Update NEWS
Stanislav Malyshev [Tue, 17 Dec 2019 07:45:11 +0000 (23:45 -0800)]
[ci skip] Update NEWS
Stanislav Malyshev [Tue, 17 Dec 2019 07:41:04 +0000 (23:41 -0800)]
[ci skip] Update NEWS
Dmitry Stogov [Tue, 17 Dec 2019 07:10:11 +0000 (10:10 +0300)]
Property names of internal classes from temporary extensins, loaded by dl(), may be emalloc-ed strings.
Dmitry Stogov [Tue, 17 Dec 2019 07:09:22 +0000 (10:09 +0300)]
Fixed memory leak
Dmitry Stogov [Tue, 17 Dec 2019 06:58:27 +0000 (09:58 +0300)]
Fixed memory leaks
Nikita Popov [Mon, 16 Dec 2019 19:23:17 +0000 (20:23 +0100)]
Set opcache.optimization_level=0 in test
Otherwise opcache "inlines" the function, which causes a minor
difference in destruction behavior.
Stanislav Malyshev [Mon, 16 Dec 2019 18:32:49 +0000 (10:32 -0800)]
Fix test
Stanislav Malyshev [Mon, 16 Dec 2019 18:31:22 +0000 (10:31 -0800)]
Test fixes
Stanislav Malyshev [Mon, 16 Dec 2019 18:05:02 +0000 (10:05 -0800)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix test
Fix bug #78793
Stanislav Malyshev [Mon, 16 Dec 2019 18:04:09 +0000 (10:04 -0800)]
Merge branch 'PHP-7.4' of git.php.net:php-src into PHP-7.4
* 'PHP-7.4' of git.php.net:php-src:
Remove DateTime class registration test
Fixed bug #78973
Fixed bug #78961 (erroneous optimization of re-assigned $GLOBALS)
Stanislav Malyshev [Mon, 16 Dec 2019 18:04:03 +0000 (10:04 -0800)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix test
Fix bug #78793
Stanislav Malyshev [Mon, 16 Dec 2019 18:03:43 +0000 (10:03 -0800)]
Fix test
Nikita Popov [Mon, 16 Dec 2019 17:57:19 +0000 (18:57 +0100)]
Remove DateTime class registration test
This test is more annoying than useful.
Nikita Popov [Mon, 16 Dec 2019 17:52:30 +0000 (18:52 +0100)]
Fixed bug #78973
Save opline in leave helper to correctly handle destructor calls
during CV freeing (or other leave freeing).
Dmitry Stogov [Mon, 16 Dec 2019 09:24:47 +0000 (12:24 +0300)]
Fixed bug #78961 (erroneous optimization of re-assigned $GLOBALS)
Stanislav Malyshev [Mon, 16 Dec 2019 09:14:38 +0000 (01:14 -0800)]
Fix bug #78793
Stanislav Malyshev [Mon, 16 Dec 2019 09:11:01 +0000 (01:11 -0800)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix build - no model field anymore
Stanislav Malyshev [Mon, 16 Dec 2019 09:10:42 +0000 (01:10 -0800)]
Fix build - no model field anymore
Stanislav Malyshev [Mon, 16 Dec 2019 08:39:37 +0000 (00:39 -0800)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fixed bug #78910
Fix #78878: Buffer underflow in bc_shift_addsub
Fix test
Fix #78862: link() silently truncates after a null byte on Windows
Fix #78863: DirectoryIterator class silently truncates after a null byte
Fix #78943: mail() may release string with refcount==1 twice
Stanislav Malyshev [Mon, 16 Dec 2019 08:38:54 +0000 (00:38 -0800)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fixed bug #78910
Fix #78878: Buffer underflow in bc_shift_addsub
Fix test
Fix #78862: link() silently truncates after a null byte on Windows
Fix #78863: DirectoryIterator class silently truncates after a null byte
Stanislav Malyshev [Mon, 16 Dec 2019 08:10:39 +0000 (00:10 -0800)]
Fixed bug #78910