]> granicus.if.org Git - php/log
php
5 years agoFixed bug #79244 (php crashes during parsing INI file). (Laruence)
Xinchen Hui [Mon, 10 Feb 2020 05:01:51 +0000 (13:01 +0800)]
Fixed bug #79244 (php crashes during parsing INI file). (Laruence)

Cherry-picked the fix(not sure why this wasn't merged to 7.4) for:
Fixed bug #77589 (Core dump using parse_ini_string with numeric sections)

Section name should not be typed(NULL, FALSE, TRUE etc)

Conflicts:

Zend/zend_ini_scanner.c

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Sat, 8 Feb 2020 16:06:34 +0000 (17:06 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #79248: Traversing empty VT_ARRAY throws com_exception

5 years agoFix #79248: Traversing empty VT_ARRAY throws com_exception
Christoph M. Becker [Sat, 8 Feb 2020 15:56:30 +0000 (16:56 +0100)]
Fix #79248: Traversing empty VT_ARRAY throws com_exception

If the `VT_ARRAY` is empty, i.e. its upperbound is less than its lower
bound, we must not call `php_com_safearray_get_elem()`, because that
function throws in this case.

5 years agoFix #79247: Garbage collecting variant objects segfaults
Christoph M. Becker [Sat, 8 Feb 2020 09:58:15 +0000 (10:58 +0100)]
Fix #79247: Garbage collecting variant objects segfaults

variant objects have no (declared) properties, so the `get_properties`
handlers returns a pointer to constant storage for efficiency reasons.
This pointer must not be returned from the `get_gc` handler, though;
instead we set up an own `get_gc` handler and return NULL from it, to
signal that there are no properties to collect.

5 years agoUpdate bundled stdxx check macros
Anatol Belski [Sat, 8 Feb 2020 09:13:46 +0000 (10:13 +0100)]
Update bundled stdxx check macros

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Fri, 7 Feb 2020 20:10:44 +0000 (21:10 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Skip test case on x86 where it otherwise fails [ci skip]

5 years agoSkip test case on x86 where it otherwise fails [ci skip]
Christoph M. Becker [Fri, 7 Feb 2020 20:00:27 +0000 (21:00 +0100)]
Skip test case on x86 where it otherwise fails [ci skip]

`-2200000000` can't be converted to integer on x86, so the constructor
call would fail.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Fri, 7 Feb 2020 17:04:52 +0000 (18:04 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #79242: COM error constants don't match com_exception codes

5 years agoFix #79242: COM error constants don't match com_exception codes
Christoph M. Becker [Fri, 7 Feb 2020 17:04:14 +0000 (18:04 +0100)]
Fix #79242: COM error constants don't match com_exception codes

Because a `HRESULT` is a `LONG`[1], no special treatment is required on
x86 platforms to get appropriate values.  On x64 platforms we prefer
positive values, what we could accomplish by casting the `HRESULT`
value to `ULONG` and then to `zend_long`, but since the current
behavior is correct and the performance improvement is negligible, we
defer that to master.

[1] <https://docs.microsoft.com/en-us/windows/win32/winprog/windows-data-types#hresult>

5 years agoPCRE: Only remember valid UTF-8 if start offset zero
Nikita Popov [Fri, 7 Feb 2020 16:01:39 +0000 (17:01 +0100)]
PCRE: Only remember valid UTF-8 if start offset zero

PCRE only validates the string starting from the start offset
(minus maximum look-behind, but let's ignore that), so we can
only remember that the string is fully valid UTF-8 is the original
start offset is zero.

5 years agoPCRE: Check whether start offset is on char boundary
Nikita Popov [Fri, 7 Feb 2020 15:39:06 +0000 (16:39 +0100)]
PCRE: Check whether start offset is on char boundary

We need not just the whole string to be UTF-8, but the start
position to be on a character boundary as well. Check this by
looking for a continuation byte.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Thu, 6 Feb 2020 14:00:39 +0000 (15:00 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #66322: COMPersistHelper::SaveToFile can save to wrong location

5 years agoFix #66322: COMPersistHelper::SaveToFile can save to wrong location
Christoph M. Becker [Thu, 6 Feb 2020 13:59:55 +0000 (14:59 +0100)]
Fix #66322: COMPersistHelper::SaveToFile can save to wrong location

Saving under the given `filename` may also work, but since
`::LoadFromFile` uses the `fullpath` we follow suit.

5 years agoMake opcodes to return de-refereced values of typed references (in the same was as...
Dmitry Stogov [Thu, 6 Feb 2020 12:48:54 +0000 (15:48 +0300)]
Make opcodes to return de-refereced values of typed references (in the same was as for non-typed)

5 years agoFix NEWS [ci skip]
Christoph M. Becker [Thu, 6 Feb 2020 09:46:38 +0000 (10:46 +0100)]
Fix NEWS [ci skip]

This bugfix didn't make it into 7.4.3.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Wed, 5 Feb 2020 10:19:55 +0000 (11:19 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fixed bug #79188

5 years agoFixed bug #79188
Nikita Popov [Wed, 29 Jan 2020 09:57:44 +0000 (10:57 +0100)]
Fixed bug #79188

5 years agoMerge branch 'PHP-7.3' into PHP-7.4 [ci skip]
Christoph M. Becker [Tue, 4 Feb 2020 10:41:07 +0000 (11:41 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4 [ci skip]

* PHP-7.3:
  Next is 7.3.16

5 years agoNext is 7.3.16
Christoph M. Becker [Tue, 4 Feb 2020 10:38:29 +0000 (11:38 +0100)]
Next is 7.3.16

5 years agoFix #79019: Copied cURL handles upload empty file
Christoph M. Becker [Tue, 4 Feb 2020 10:01:33 +0000 (11:01 +0100)]
Fix #79019: Copied cURL handles upload empty file

To cater to `curl_copy_handle()` of cURL handles with attached
`CURLFile`s, we must not attach the opened stream, because the stream
may not be seekable, so that we could rewind, when the same stream is
going to be uploaded multiple times.  Instead, we're opening the stream
lazily in the read callback.

Since `curl_multi_perfom()` processes easy handles asynchronously, we
have no control of the operation sequence.  Since duplicated cURL
handles may be used with multi handles, we cannot use a single arg
structure, but actually have to rebuild the whole mime structure on
handle duplication and attach this to the new handle.

In order to better test this behavior, we extend the test responder to
print the size of the upload, and patch the existing tests accordingly.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Mon, 3 Feb 2020 23:44:55 +0000 (00:44 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #78090: bug45161.phpt takes forever to finish

5 years agoFix #78090: bug45161.phpt takes forever to finish
Christoph M. Becker [Mon, 3 Feb 2020 10:47:01 +0000 (11:47 +0100)]
Fix #78090: bug45161.phpt takes forever to finish

Not all systems support the discard protocol (TCP port 9), and since
there is no particular reason to use it, we switch to using actual
server testing.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Mon, 3 Feb 2020 22:32:46 +0000 (23:32 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #79191: Error in SoapClient ctor disables DOMDocument::save()

5 years agoFix #79191: Error in SoapClient ctor disables DOMDocument::save()
Christoph M. Becker [Mon, 3 Feb 2020 22:10:20 +0000 (23:10 +0100)]
Fix #79191: Error in SoapClient ctor disables DOMDocument::save()

The culprit is the too restrictive fix for bug #71536, which prevents
`php_libxml_streams_IO_write()` from properly executing when unclean
shutdown is flagged.  A *more* suitable solution is to move the
`xmlwriter_free_resource_ptr()` call from the `free_obj` handler to an
added `dtor_obj` handler, to avoid to write to a closed stream in case
of late object freeing.  This makes the `EG(active)` guard superfluous.

We also fix bug79029.phpt which has to use different variables for the
three parts to actually check the original shutdown issue.

Thanks to bwoebi and daverandom for helping to investigate this issue.

5 years agoApply tidy formatting
Nikita Popov [Mon, 3 Feb 2020 12:41:31 +0000 (13:41 +0100)]
Apply tidy formatting

Mostly reindent PHP scripts to spaces.

5 years agoAdd tidy.php to enforce formatting
Nikita Popov [Fri, 10 Jan 2020 14:52:42 +0000 (15:52 +0100)]
Add tidy.php to enforce formatting

Many parts are disabled for the PHP-7.4 branch. We only strip
trailing whitespace in C files and reindent .php files to spaces.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Mon, 3 Feb 2020 12:05:09 +0000 (13:05 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Relax test expectation

5 years agoRelax test expectation
Christoph M. Becker [Mon, 3 Feb 2020 12:02:12 +0000 (13:02 +0100)]
Relax test expectation

Since we're dealing with floating point numbers, precision issues may
hit us, and actually it's not necessary to check for the exact number
anyway, because it is not exact in the first place.  Therefore, we
relax the test expectations.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Mon, 3 Feb 2020 11:29:28 +0000 (12:29 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #79212: NumberFormatter::format() may detect wrong type

5 years agoFix #79212: NumberFormatter::format() may detect wrong type
Christoph M. Becker [Sun, 2 Feb 2020 12:38:34 +0000 (13:38 +0100)]
Fix #79212: NumberFormatter::format() may detect wrong type

We have to convert to number *before* detecting the type, to cater to
internal objects implementing `cast_object`.

We also get rid of the fallback behavior of using `FORMAT_TYPE_INT32`,
because that can no longer happen; after `convert_scalar_to_number_ex`
the type is either `IS_LONG` or `IS_DOUBLE`.  We cater explicitly to
the `IS_ARRAY` case what also avoids triggering a type confusion when
`::TYPE_INT64` is passed as `$type`.

5 years agoadd test
Remi Collet [Mon, 3 Feb 2020 09:21:46 +0000 (10:21 +0100)]
add test

5 years agoNEWS
Remi Collet [Mon, 3 Feb 2020 09:09:12 +0000 (10:09 +0100)]
NEWS

5 years agoFixed bug #73119 Wrong return for ZipArchive::addEmptyDir Method
Remi Collet [Mon, 3 Feb 2020 09:06:44 +0000 (10:06 +0100)]
Fixed bug #73119 Wrong return for ZipArchive::addEmptyDir Method

5 years agoAdd WHITESPACE_SENSITIVE run-tests section
Nikita Popov [Fri, 10 Jan 2020 15:54:12 +0000 (16:54 +0100)]
Add WHITESPACE_SENSITIVE run-tests section

This is used to indicate that the test should not be changed by
automated formatting changes.

5 years agoDisable parallelism for FPM tests
Nikita Popov [Mon, 3 Feb 2020 08:57:34 +0000 (09:57 +0100)]
Disable parallelism for FPM tests

Let's see if this helps with spurious failures on Azure.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Fri, 31 Jan 2020 09:29:26 +0000 (10:29 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix bug #76047

5 years agoFix bug #76047
Nikita Popov [Fri, 31 Jan 2020 09:21:37 +0000 (10:21 +0100)]
Fix bug #76047

Unlink the current stack frame before freeing CVs or extra args.
This means it will no longer show up in back traces that are
generated during CV destruction.

We already did this prior to destructing the object/closure,
presumably for the same reason.

5 years agoFixed bug #79094 (Crashing when running recursion function)
Dmitry Stogov [Fri, 31 Jan 2020 07:34:04 +0000 (10:34 +0300)]
Fixed bug #79094 (Crashing when running recursion function)

5 years agofix cross compilation failure due to size_t typecast in define
Pascal de Bruijn [Thu, 30 Jan 2020 12:48:44 +0000 (13:48 +0100)]
fix cross compilation failure due to size_t typecast in define

The following commit introduces a cross-compilation failure:

   93c728b77cfb47f5cfdd1863f8982ea59d344205
  "Try to control ZEND_MM_ALIGNED_SIZE type"

br-arm-full/build/php-7.4.2/Zend/zend_alloc.h:30:38:
error: missing binary operator before token "8"
                                              ^
br-arm-full/build/php-7.4.2/ext/opcache/ZendAccelerator.c:1380:7:
note: in expansion of macro ‘ZEND_MM_ALIGNMENT’

Closes GH-5128.

5 years agoFixed bug #79193
Nikita Popov [Thu, 30 Jan 2020 13:55:58 +0000 (14:55 +0100)]
Fixed bug #79193

5 years agoFix live range calculation for FE_FETCH
Nikita Popov [Thu, 30 Jan 2020 13:23:46 +0000 (14:23 +0100)]
Fix live range calculation for FE_FETCH

Op2 is def here, not a use, so treat it accordingly.

5 years agoFix DatePeriod property handling with indirect modification
Nikita Popov [Thu, 30 Jan 2020 12:09:15 +0000 (13:09 +0100)]
Fix DatePeriod property handling with indirect modification

We do need to implement get_property_ptr_ptr to make arrays work
correctly.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Thu, 30 Jan 2020 12:05:49 +0000 (13:05 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #70078: XSL callbacks with nodes as parameter leak memory

5 years agoFix #70078: XSL callbacks with nodes as parameter leak memory
Christoph M. Becker [Wed, 29 Jan 2020 17:23:51 +0000 (18:23 +0100)]
Fix #70078: XSL callbacks with nodes as parameter leak memory

The fix for bug #49634 solved a double-free by copying the node with
`xmlDocCopyNodeList()`, but the copied node is later freed by calling
`xmlFreeNode()` instead of `xmlFreeNodeList()`, thus leaking memory.
However, there is no need to treat the node as node list, i.e. to copy
also the node's siblings; just creating a recursive copy of the node
with `xmlDocCopyNode()` is sufficient, while that also avoids the leak.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Thu, 30 Jan 2020 11:17:10 +0000 (12:17 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix leak in DateTimeImmutable::modify()

5 years agoFix leak in DateTimeImmutable::modify()
Nikita Popov [Thu, 30 Jan 2020 11:16:43 +0000 (12:16 +0100)]
Fix leak in DateTimeImmutable::modify()

5 years agoFix 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.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
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

5 years agoAdd SKIPIF to test requiring mbregex
Nikita Popov [Thu, 30 Jan 2020 10:20:42 +0000 (11:20 +0100)]
Add SKIPIF to test requiring mbregex

5 years agoReset trampoline on executor startup
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.

5 years agoFix UAF in is_callable() and allocated trampoline
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.

5 years agoFix shift ub in mbstring
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...

5 years agoRestore digit check in mb_decode_numericentity()
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.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
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

5 years agoFix 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.

5 years agoBetter 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.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
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

5 years agoReset 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());

5 years agozip: more constants
Remi Collet [Wed, 29 Jan 2020 13:25:16 +0000 (14:25 +0100)]
zip: more constants

5 years agoBackport 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.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
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

5 years agoFix 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.

5 years agoFix 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...

5 years agoFix 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.

5 years agoUse "%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.

5 years agoFixed 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)

5 years agoFix #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

5 years agoFix 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

5 years agoFix 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.

5 years agoFix #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.

5 years agoEnable 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.

5 years agoFixed 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.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
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

5 years agoFix #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.

5 years agoFix #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.

5 years ago- bump zip extension version to 1.15.6
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)

5 years agoFix #78969 Make PASSWORD_DEFAULT match PASSWORD_BCRYPT instead of being null
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.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
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

5 years agoFix 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.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
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

5 years agoAdd 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

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
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]

5 years agoFixed 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.

5 years agoFixed 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.

5 years agoFix 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.

5 years agoFixed bug #79011
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.

5 years agoFix memory leaks in mysqlnd debug functionality
Nikita Popov [Fri, 24 Jan 2020 12:12:11 +0000 (13:12 +0100)]
Fix memory leaks in mysqlnd debug functionality

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
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()

5 years agoMake test independent of online XSD schema
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.

5 years agoAdd ZipArchive::CM_LZMA2 constant (since libzip 1.6.0)
Remi Collet [Fri, 24 Jan 2020 13:06:19 +0000 (14:06 +0100)]
Add ZipArchive::CM_LZMA2 constant (since libzip 1.6.0)

5 years agoYet another check for php_strip_tags_ex()
Christoph M. Becker [Fri, 24 Jan 2020 11:45:04 +0000 (12:45 +0100)]
Yet another check for php_strip_tags_ex()

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Fri, 24 Jan 2020 11:51:02 +0000 (12:51 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Yet another check for php_strip_tags_ex()

5 years agoYet another check for php_strip_tags_ex()
Christoph M. Becker [Fri, 24 Jan 2020 11:45:04 +0000 (12:45 +0100)]
Yet another check for php_strip_tags_ex()

5 years agoDon't use CRLF when generating diffs
Nikita Popov [Fri, 24 Jan 2020 11:28:37 +0000 (12:28 +0100)]
Don't use CRLF when generating diffs

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Thu, 23 Jan 2020 14:09:54 +0000 (15:09 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix bug76348.phpt

5 years agoFix bug76348.phpt
Nikita Popov [Thu, 23 Jan 2020 14:08:20 +0000 (15:08 +0100)]
Fix bug76348.phpt

Adjust for URL change in XSD file and mark as online test.

Is it possible for use to store http://x-road.eu/xsd/xroad.xsd
locally instead? Do relative file system paths work here?
I'm not familiar with this.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Thu, 23 Jan 2020 13:58:01 +0000 (14:58 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fixed bug #78902
  Add unit test for bug #78902

5 years agoFixed bug #78902
liudaixiao [Mon, 16 Dec 2019 01:10:28 +0000 (09:10 +0800)]
Fixed bug #78902

5 years agoAdd unit test for bug #78902
Léopold Jacquot [Wed, 4 Dec 2019 14:14:50 +0000 (15:14 +0100)]
Add unit test for bug #78902

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Thu, 23 Jan 2020 13:21:14 +0000 (14:21 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fixed bug #79151