]>
granicus.if.org Git - php/log
Nikita Popov [Thu, 30 Jan 2020 11:12:09 +0000 (12:12 +0100)]
Update test for warning -> fatal error change
Nikita Popov [Thu, 30 Jan 2020 10:56:36 +0000 (11:56 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix copying of functions in variance obligations
Nikita Popov [Thu, 30 Jan 2020 10:55:38 +0000 (11:55 +0100)]
Fix copying of functions in variance obligations
Only copy sizeof(zend_internal_function) for internal functions.
Nikita Popov [Thu, 30 Jan 2020 10:21:32 +0000 (11:21 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Add SKIPIF to test requiring mbregex
Nikita Popov [Thu, 30 Jan 2020 10:21:26 +0000 (11:21 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Add SKIPIF to test requiring mbregex
Nikita Popov [Thu, 30 Jan 2020 10:20:42 +0000 (11:20 +0100)]
Add SKIPIF to test requiring mbregex
Nikita Popov [Thu, 30 Jan 2020 10:13:04 +0000 (11:13 +0100)]
Fix leak in DatePeriod construction with invalid format
Same issue as I fixed in DateInterval construction before.
Nikita Popov [Thu, 30 Jan 2020 10:05:56 +0000 (11:05 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Reset trampoline on executor startup
Fix UAF in is_callable() and allocated trampoline
Nikita Popov [Thu, 30 Jan 2020 10:03:14 +0000 (11:03 +0100)]
Reset trampoline on executor startup
Make sure the trampoline is usable, even if we had an unclean
shutdown on the last request.
Nikita Popov [Thu, 30 Jan 2020 10:01:13 +0000 (11:01 +0100)]
Fix UAF in is_callable() and allocated trampoline
By nulling out the function_handler, so it will not get used
below. Reuse the existing helper for this purpose.
Christoph M. Becker [Wed, 29 Jan 2020 15:18:46 +0000 (16:18 +0100)]
Fix #74063: NumberFormatter fails after retrieval from session
While it would be desireable to actually support unserialization of
NumberFormatter instances, at least we should not allow serialization
for now.
We also remove some doubtful tests, which have been added[1] claiming
that they would crash the intl extension, but apparently no fix has
been applied, and the test cases have not been marked as XFAIL.
[1] <http://git.php.net/?p=php-src.git;a=commit;h=
ed793b2a3f857fd49c0c1b036062140da5b3e674 >
Nikita Popov [Thu, 30 Jan 2020 09:08:21 +0000 (10:08 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix shift ub in mbstring
Restore digit check in mb_decode_numericentity()
Nikita Popov [Tue, 28 Jan 2020 15:18:46 +0000 (16:18 +0100)]
Fix shift ub in mbstring
Ideally "c" would be an unsigned integer...
Nikita Popov [Wed, 29 Jan 2020 15:40:13 +0000 (16:40 +0100)]
Restore digit check in mb_decode_numericentity()
I replaced it with a multiplication overflow check in
18599f9c52959b2e8cbfac57e278644499a3547d . However, we need both,
because the code for restoring the number can't handle numbers
with many leading zeros right now and I don't feel like teaching it.
Christoph M. Becker [Wed, 29 Jan 2020 17:19:54 +0000 (18:19 +0100)]
Enable ZipArchive::setMtime(Name|Index) on Windows
These are enabled on non Windows systems as of zip 1.16.0 with libzip
>= 1.0.0. Since Windows builds use at least libzip 1.4.0, we also
enable these methods there.
Nikita Popov [Wed, 29 Jan 2020 15:19:21 +0000 (16:19 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix mb_ord() crash if internal encoding not supported
Nikita Popov [Wed, 29 Jan 2020 15:19:14 +0000 (16:19 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix mb_ord() crash if internal encoding not supported
Nikita Popov [Wed, 29 Jan 2020 15:17:30 +0000 (16:17 +0100)]
Fix mb_ord() crash if internal encoding not supported
enc_name can be NULL here. Take the name from the mbfl_encoding
instead.
Nikita Popov [Wed, 29 Jan 2020 15:08:55 +0000 (16:08 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Better overflow check for entity decoding
Nikita Popov [Wed, 29 Jan 2020 13:22:45 +0000 (14:22 +0100)]
Better overflow check for entity decoding
Check for multiplication overflow rather than number of digits.
Nikita Popov [Wed, 29 Jan 2020 15:05:47 +0000 (16:05 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Reset MBREX(search_re) in RSHUTDOWN
Nikita Popov [Wed, 29 Jan 2020 15:05:38 +0000 (16:05 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Reset MBREX(search_re) in RSHUTDOWN
Nikita Popov [Wed, 29 Jan 2020 15:03:44 +0000 (16:03 +0100)]
Reset MBREX(search_re) in RSHUTDOWN
This is going to cause a segfault if reused in the next request.
To illustrate the issue, run these two scripts in sequence with
the built-in server:
// script1.php
mb_ereg_search_init('foobar');
mb_ereg_search('foo');
// script2.php
var_dump(mb_ereg_search_init("foobar"));
var_dump(mb_ereg_search_pos());
Remi Collet [Wed, 29 Jan 2020 13:26:03 +0000 (14:26 +0100)]
zip extension version is now 1.16.1
Remi Collet [Wed, 29 Jan 2020 13:25:26 +0000 (14:25 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
zip: more constants
Remi Collet [Wed, 29 Jan 2020 13:25:16 +0000 (14:25 +0100)]
zip: more constants
Anatol Belski [Wed, 29 Jan 2020 12:40:09 +0000 (13:40 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Backport
7d2ef3d2e540885dec26d91dad061bff1621ad07 into 7.4
Anatol Belski [Wed, 29 Jan 2020 12:19:27 +0000 (13:19 +0100)]
Backport
7d2ef3d2e540885dec26d91dad061bff1621ad07 into 7.4
As the data structures are public, the fix for 64-bit consists
on replacing the blanket memcpy with individual assignments.
Nikita Popov [Wed, 29 Jan 2020 11:50:47 +0000 (12:50 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix use of mb_ereg_search_getregs() after invalid pattern
Nikita Popov [Wed, 29 Jan 2020 11:50:40 +0000 (12:50 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix use of mb_ereg_search_getregs() after invalid pattern
Nikita Popov [Wed, 29 Jan 2020 11:49:28 +0000 (12:49 +0100)]
Fix use of mb_ereg_search_getregs() after invalid pattern
This segfaulted because we assumed that if there are matches,
there must be a regular expression as well.
Anatol Belski [Wed, 29 Jan 2020 11:34:04 +0000 (12:34 +0100)]
Fix datatype
This has been introduced by
84b0d0fabaaf21ee056984a33b573121296af942 .
Besides it causes runtime issues on POWER5 (and presumably later), the
implementation would expect this array to consist on 32-bit integers.
Nikita Popov [Wed, 29 Jan 2020 11:22:58 +0000 (12:22 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix length inconsistency in mb_convert_encoding
Nikita Popov [Wed, 29 Jan 2020 11:19:28 +0000 (12:19 +0100)]
Fix length inconsistency in mb_convert_encoding
Don't mix strlen() and ZSTR_LEN(). If the encoding contains a
NULL byte, this will overflow the buffer.
NULL bytes will still make this behave oddly because the consuming
code will cut off the string there, but let's address that in master...
Nikita Popov [Wed, 29 Jan 2020 10:49:27 +0000 (11:49 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix recovery of large entities in mb_decode_numericentity()
Nikita Popov [Wed, 29 Jan 2020 10:44:56 +0000 (11:44 +0100)]
Fix recovery of large entities in mb_decode_numericentity()
Make sure we don't overflow the integer.
Nikita Popov [Wed, 29 Jan 2020 10:16:38 +0000 (11:16 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Use "%define parse.error verbose"
Akim Demaille [Tue, 28 Jan 2020 19:41:56 +0000 (20:41 +0100)]
Use "%define parse.error verbose"
The YYERROR_VERBOSE macro will no longer be supported in Bison 3.6.
It was superseded by the "%error-verbose" directive in Bison 1.875
(2003-01-01). Bison 2.6 (2012-07-19) clearly announced that support
for YYERROR_VERBOSE would be removed. Note that since Bison 3.0
(2013-07-25), "%error-verbose" is deprecated in favor of "%define
parse.error verbose".
Closes GH-5125.
Dmitry Stogov [Wed, 29 Jan 2020 09:15:34 +0000 (12:15 +0300)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fixed bug #79092 (Building with clang+lld-9 results in a broken PHP binary)
Dmitry Stogov [Wed, 29 Jan 2020 09:15:03 +0000 (12:15 +0300)]
Fixed bug #79092 (Building with clang+lld-9 results in a broken PHP binary)
Máté Kocsis [Tue, 28 Jan 2020 17:51:00 +0000 (18:51 +0100)]
Merge branch 'PHP-7.4'
* Fix #78666 mysqli_options generates Warning on var_dump()
Máté Kocsis [Fri, 24 Jan 2020 19:08:32 +0000 (20:08 +0100)]
Fix #78666 mysqli_options generates Warning on var_dump()
Closes GH-5121
Nikita Popov [Tue, 28 Jan 2020 16:40:07 +0000 (17:40 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix memory leak in mb_str_split
Nikita Popov [Tue, 28 Jan 2020 16:39:37 +0000 (17:39 +0100)]
Fix memory leak in mb_str_split
Nikita Popov [Tue, 28 Jan 2020 16:17:07 +0000 (17:17 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix mysqli_get_warnings() with multi queries
Nikita Popov [Tue, 28 Jan 2020 16:12:45 +0000 (17:12 +0100)]
Fix mysqli_get_warnings() with multi queries
In this case warning_count may be non-zero, but php_get_warnings()
may still return no warnings. In this case we should return false
rather than returning a corrupted mysqli_warning object.
Christoph M. Becker [Tue, 28 Jan 2020 14:37:51 +0000 (15:37 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #79174: cookie values with spaces fail to round-trip
Christoph M. Becker [Tue, 28 Jan 2020 14:11:59 +0000 (15:11 +0100)]
Fix #79174: cookie values with spaces fail to round-trip
The fix for bug #78929 disabled the conversion of spaces in cookie
values to plus signs, but failed to adapt `php_setcookie()`
accordingly, so that it uses raw URL encoding as well.
Nikita Popov [Tue, 28 Jan 2020 14:33:33 +0000 (15:33 +0100)]
Avoid shift UB for large arrays
Don't shift into the sign bit.
Nikita Popov [Tue, 28 Jan 2020 14:12:24 +0000 (15:12 +0100)]
Only fetch to_encoding once in mb_convert_encoding()
Instead of doing it on every conversion. This is both more efficient
and avoids generating multiple warnings.
Nikita Popov [Tue, 28 Jan 2020 13:42:19 +0000 (14:42 +0100)]
Make BG(syslog_device) per request
This is not supposed to be retained across requests. Explicitly
free it at the end of a request, and use the per-request allocator.
Christoph M. Becker [Tue, 28 Jan 2020 12:35:20 +0000 (13:35 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Enable support for LIBZIP_VERSION
Christoph M. Becker [Tue, 28 Jan 2020 12:30:53 +0000 (13:30 +0100)]
Enable support for LIBZIP_VERSION
This is already supported by non Windows builds for libzip >= 1.3.1,
and since we're using at least libzip 1.4.0 on Windows, we should
support it there as well.
Nikita Popov [Tue, 28 Jan 2020 12:11:49 +0000 (13:11 +0100)]
Fix rel_date leak on DateInterval construction failure
Nikita Popov [Tue, 28 Jan 2020 11:33:58 +0000 (12:33 +0100)]
Throw an exception if default_dir not set, but required
Previously the RETURN_THROWS() assertion failed for this case.
Remi Collet [Tue, 28 Jan 2020 10:32:42 +0000 (11:32 +0100)]
zip: fix lib check
Nikita Popov [Tue, 28 Jan 2020 10:23:16 +0000 (11:23 +0100)]
Perform map ptr base arithmetic through uintptr_t
Adding an offset to the NULL pointer is undefined behavior.
Avoid this by performing arithmetic on uintptr_t instead.
Nikita Popov [Tue, 28 Jan 2020 10:16:53 +0000 (11:16 +0100)]
Don't index NULL pointer when fetching non-existent constant
Remi Collet [Tue, 28 Jan 2020 09:52:09 +0000 (10:52 +0100)]
- bump zip extension version to 1.16.0 - add ZipArchive::setMtimeName and ZipArchive::setMtimeIndex methods
Nikita Popov [Tue, 28 Jan 2020 09:44:37 +0000 (10:44 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fixed bug #78989
Nikita Popov [Tue, 28 Jan 2020 09:41:11 +0000 (10:41 +0100)]
Fixed bug #78989
Always operate on copies of the functions, so we don't reference
temporary trait methods that have gone out of scope.
This could be more efficient, but doing an allocated copy only when
strictly necessary turned out to be somewhat tricky.
Christoph M. Becker [Tue, 28 Jan 2020 09:40:00 +0000 (10:40 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #76584: PharFileInfo::decompress not working
Christoph M. Becker [Tue, 28 Jan 2020 09:32:26 +0000 (10:32 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #76584: PharFileInfo::decompress not working
Christoph M. Becker [Sun, 26 Jan 2020 12:33:07 +0000 (13:33 +0100)]
Fix #76584: PharFileInfo::decompress not working
We actually have to decompress, when told to do so.
Christoph M. Becker [Tue, 28 Jan 2020 08:19:45 +0000 (09:19 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix #79172: STRUCT_OFFSET() relies on undefined behavior
Christoph M. Becker [Tue, 28 Jan 2020 08:15:23 +0000 (09:15 +0100)]
Fix #79172: STRUCT_OFFSET() relies on undefined behavior
Since this pattern is understood by compilers, not a real issue, but
certainly cleaner this way.
Tyson Andre [Sun, 26 Jan 2020 18:05:34 +0000 (13:05 -0500)]
Convert ZEND_ECHO operand to string after sccp
And filter out echoes of the empty string (e.g. false/null)
Split out of #5097 (on GitHub)
Closes GH-5118
George Peter Banyard [Wed, 11 Dec 2019 20:57:57 +0000 (21:57 +0100)]
Convert some warnings into ValueErrors in the standard file extension
Closes GH-5007
Remi Collet [Mon, 27 Jan 2020 15:48:54 +0000 (16:48 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
- bump zip extension version to 1.15.6 - add ZipArchive::LIBZIP_VERSION - skip bug53885.phpt with libzip 1.6.0 (empty file is no more valid archive)
Remi Collet [Mon, 27 Jan 2020 15:47:28 +0000 (16:47 +0100)]
- bump zip extension version to 1.15.6
- add ZipArchive::LIBZIP_VERSION
- skip bug53885.phpt with libzip 1.6.0 (empty file is no more valid archive)
Nikita Popov [Mon, 27 Jan 2020 15:13:36 +0000 (16:13 +0100)]
Remove state pointer argument from php_strip_tags
Máté Kocsis [Mon, 27 Jan 2020 13:04:19 +0000 (14:04 +0100)]
Merge branch 'PHP-7.4'
Máté Kocsis [Wed, 22 Jan 2020 12:33:11 +0000 (13:33 +0100)]
Fix #78969 Make PASSWORD_DEFAULT match PASSWORD_BCRYPT instead of being null
It was an unintentional BC break.
Nikita Popov [Mon, 27 Jan 2020 12:32:51 +0000 (13:32 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix bug #78323: Code 0 is returned on invalid options
Nikita Popov [Mon, 27 Jan 2020 12:32:29 +0000 (13:32 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix bug #78323: Code 0 is returned on invalid options
Ivan Mikheykin [Fri, 17 Jan 2020 19:26:35 +0000 (22:26 +0300)]
Fix bug #78323: Code 0 is returned on invalid options
Set CLI exit code to 1 when invalid parameters are passed,
and print error to stderr.
Tyson Andre [Sun, 26 Jan 2020 16:53:42 +0000 (11:53 -0500)]
[skip ci] Fix typos in NEWS
Markus Staab [Sat, 25 Jan 2020 11:40:22 +0000 (12:40 +0100)]
Fix typo [ci skip]
Christoph M. Becker [Sun, 26 Jan 2020 13:14:52 +0000 (14:14 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Add CURLOPT CURLOPT_HTTP09_ALLOWED available since 7.64.0
Christoph M. Becker [Sun, 26 Jan 2020 13:13:52 +0000 (14:13 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Add CURLOPT CURLOPT_HTTP09_ALLOWED available since 7.64.0
Florian Smeets [Sun, 26 Jan 2020 04:18:57 +0000 (05:18 +0100)]
Add CURLOPT CURLOPT_HTTP09_ALLOWED available since 7.64.0
Anatol Belski [Sat, 25 Jan 2020 16:44:18 +0000 (17:44 +0100)]
Fix bundled PCRE2 compilation on ARM64
Anatol Belski [Tue, 21 Jan 2020 19:22:40 +0000 (20:22 +0100)]
Upgrade bundled PCRE2 to 10.34
George Peter Banyard [Sat, 25 Jan 2020 12:31:43 +0000 (13:31 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fixed bug #79080 [ci skip]
George Peter Banyard [Sat, 25 Jan 2020 12:31:10 +0000 (13:31 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fixed bug #79080 [ci skip]
George Peter Banyard [Sat, 25 Jan 2020 12:23:51 +0000 (13:23 +0100)]
Fixed bug #79080 [ci skip]
Rewrote session.gc_probability and session.gc_divisor INI setting
description to be more succint.
George Peter Banyard [Sat, 25 Jan 2020 11:32:55 +0000 (12:32 +0100)]
Add mention about empty needles for strrch() functions in UPGRADING [ci skip]
George Peter Banyard [Sat, 25 Jan 2020 11:22:01 +0000 (12:22 +0100)]
Allow empty needle in mb_strrchr()
George Peter Banyard [Tue, 7 Jan 2020 23:11:37 +0000 (00:11 +0100)]
Convert warnings to ValueError in mb_strpos function family.
Closes GH-5109
Nikita Popov [Fri, 24 Jan 2020 15:20:30 +0000 (16:20 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fixed bug #79128
Nikita Popov [Fri, 24 Jan 2020 15:18:28 +0000 (16:18 +0100)]
Fixed bug #79128
We need to extend the hash table before performing raw append
operations.
This doesn't matter if preloading happens in the same process,
as the tables will be large enough to hold all entries as a
side-effect of the preloading process. However, if preloading
happens in a different process, we need to reserve space here.
wbender [Fri, 3 Jan 2020 15:29:12 +0000 (09:29 -0600)]
Fix bug #64865: Use CONTEXT_DOCUMENT_ROOT for scanning dir tree
If CONTEXT_DOCUMENT_ROOT is set use that rather than DOCUMENT_ROOT to
scan up the dir tree looking for .user.ini files.
Closes GH-5051.
Nikita Popov [Fri, 24 Jan 2020 14:15:36 +0000 (15:15 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix mysqli ssl test for tls1.3
Nikita Popov [Fri, 24 Jan 2020 14:14:52 +0000 (15:14 +0100)]
Fix mysqli ssl test for tls1.3
Specifying AES256-SHA results in TLS_AES_256_GCM_SHA384 if the
connection uses TLS v1.3.
Nikita Popov [Fri, 24 Jan 2020 13:55:00 +0000 (14:55 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fixed bug #79011
Fix memory leaks in mysqlnd debug functionality
Nikita Popov [Fri, 24 Jan 2020 13:52:28 +0000 (14:52 +0100)]
Fixed bug #79011
auth_plugin_data_len here is 21, including the trailing null byte.
Directly use SCRAMBLE_LENGTH instead. Also add a sanity check that
the provided scramble is long enough.
Nikita Popov [Fri, 24 Jan 2020 12:12:11 +0000 (13:12 +0100)]
Fix memory leaks in mysqlnd debug functionality
Christoph M. Becker [Fri, 24 Jan 2020 13:20:59 +0000 (14:20 +0100)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Make test independent of online XSD schema
Yet another check for php_strip_tags_ex()
Christoph M. Becker [Fri, 24 Jan 2020 13:19:17 +0000 (14:19 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Make test independent of online XSD schema
Yet another check for php_strip_tags_ex()
Christoph M. Becker [Fri, 24 Jan 2020 09:18:01 +0000 (10:18 +0100)]
Make test independent of online XSD schema
The test still needs to access <http://www.w3.org/2009/01/xml.xsd>, but
at least we no longer depend on <http://x-road.eu/xsd/x-road.xsd>,
which may be moved again.