]> granicus.if.org Git - php/log
php
4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Thu, 27 Feb 2020 08:40:31 +0000 (09:40 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix #64032: mysqli reports different client_version

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Thu, 27 Feb 2020 08:38:55 +0000 (09:38 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #64032: mysqli reports different client_version

4 years agoFix #64032: mysqli reports different client_version
Christoph M. Becker [Wed, 26 Feb 2020 17:33:25 +0000 (18:33 +0100)]
Fix #64032: mysqli reports different client_version

While `mysqli_get_client_version()` calls `mysql_get_client_version()`
to retrieve the client version, `mysql::$client_version` is initialized
to `MYSQL_VERSION_ID`.  Both should match though, and since the former
is the more useful information, we fix `mysql::$client_version`.

We do not add a regression test, because it would usually succeed
anyway, and we already have several tests with respective `assert()`s.

4 years agoMerge branch 'PHP-7.4'
Nikita Popov [Wed, 26 Feb 2020 15:48:41 +0000 (16:48 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Add test for bug #60161

4 years agoAdd test for bug #60161
Nikita Popov [Wed, 26 Feb 2020 15:48:03 +0000 (16:48 +0100)]
Add test for bug #60161

This has been fixed in PHP 7.4, let's make sure it stays fixed.

4 years agoChange argument error message format
Máté Kocsis [Tue, 25 Feb 2020 19:58:33 +0000 (20:58 +0100)]
Change argument error message format

Closes GH-5211

4 years agoFix mbstring regex variable types to correspond to Oniguruma
George Peter Banyard [Sat, 22 Feb 2020 01:16:38 +0000 (02:16 +0100)]
Fix mbstring regex variable types to correspond to Oniguruma

The beginning and ending of a Oniguruma Regex are stored in a OnigRegion (which is a typedef to the Oniguruma re_registers struct) as as int* therefore change the type from size_t to int

Closes GH-5196

4 years agoRequire all internal functions to have arginfo
Nikita Popov [Thu, 13 Feb 2020 15:38:51 +0000 (16:38 +0100)]
Require all internal functions to have arginfo

4 years agoAdd stubs for COMPersistHelper
Nikita Popov [Tue, 25 Feb 2020 11:31:51 +0000 (12:31 +0100)]
Add stubs for COMPersistHelper

4 years agoRemove deprecated capture_session_meta OpenSSL stream context
George Peter Banyard [Sun, 23 Feb 2020 23:04:12 +0000 (00:04 +0100)]
Remove deprecated capture_session_meta OpenSSL stream context

Closes GH-5200

4 years agoGet rid of method mapping of BreakIterator classes
Máté Kocsis [Tue, 25 Feb 2020 18:57:23 +0000 (19:57 +0100)]
Get rid of method mapping of BreakIterator classes

4 years agoAdd stubs for Intl BreakIterator
Máté Kocsis [Mon, 24 Feb 2020 22:54:49 +0000 (23:54 +0100)]
Add stubs for Intl BreakIterator

Closes GH-5207

4 years agoReorder checks in object ref assignment
Nikita Popov [Tue, 25 Feb 2020 16:23:46 +0000 (17:23 +0100)]
Reorder checks in object ref assignment

First check for IS_INDIRECT and de-indirect it directly there.
Handle the error cases later.

4 years agoMerge branch 'PHP-7.4'
Nikita Popov [Tue, 25 Feb 2020 11:44:26 +0000 (12:44 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix #63206: Fully support error/exception_handler stacking, even with null or inside the handler

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Tue, 25 Feb 2020 11:44:01 +0000 (12:44 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #63206: Fully support error/exception_handler stacking, even with null or inside the handler

4 years agoFix #63206: Fully support error/exception_handler stacking, even with null or inside...
Mark Plomer [Mon, 24 Feb 2020 20:32:02 +0000 (21:32 +0100)]
Fix #63206: Fully support error/exception_handler stacking, even with null or inside the handler

Always push the current user_error/exception_handler to the stack,
even when it is empty, so restore_error_handler() always works as
expected.

The user_error_handler is especially temporarily empty when we are inside
the error handler, which caused inconsistent behaviour before.

4 years agoGive arginfo to SplFileInfo::_bad_state_ex()
Nikita Popov [Thu, 13 Feb 2020 15:45:20 +0000 (16:45 +0100)]
Give arginfo to SplFileInfo::_bad_state_ex()

We should really get rid of this hack though... Wow!

4 years agoAdd missing zend_test stubs
Nikita Popov [Tue, 25 Feb 2020 10:17:34 +0000 (11:17 +0100)]
Add missing zend_test stubs

4 years agoAdd ext/mysqli stubs
Tom Van Looy [Fri, 15 Nov 2019 14:39:56 +0000 (15:39 +0100)]
Add ext/mysqli stubs

Closes GH-4913.

4 years agoAdd preg_last_error_msg() function
Nicolas Oelgart [Mon, 17 Feb 2020 13:29:12 +0000 (14:29 +0100)]
Add preg_last_error_msg() function

Provides the last PCRE error as a human-readable message, similar
to functionality existing in other extensions, such as
json_last_error_msg().

Closes GH-5185.

4 years agoAvoid used of "named fn" in ext/standard
Nikita Popov [Fri, 21 Feb 2020 14:33:58 +0000 (15:33 +0100)]
Avoid used of "named fn" in ext/standard

4 years agoFix macro-expansion issues in ZEND_FE and friends
Nikita Popov [Fri, 21 Feb 2020 14:23:10 +0000 (15:23 +0100)]
Fix macro-expansion issues in ZEND_FE and friends

I noticed that we have various places where we work around macros
conflicting with PHP function names. Rather than require this,
fix our ZEND_FE etc macros to avoid pre-scan macro expansion.
This requires duplicating the ZEND_FN/ZEND_MN macros in places,
but that seems like a reasonable tradeoff.

4 years agoRemove unnecessary checks in breakpoint iterator
Nikita Popov [Tue, 25 Feb 2020 09:06:13 +0000 (10:06 +0100)]
Remove unnecessary checks in breakpoint iterator

The result of Z_INTL_BREAKITERATOR_P() cannot be NULL. This type
of macro in general can never be NULL.

4 years agoUse serialize_precision for var_dump()
Nikita Popov [Wed, 12 Feb 2020 09:27:28 +0000 (10:27 +0100)]
Use serialize_precision for var_dump()

var_dump() is debugging functionality, so it should print
floating-point numbers accurately. We do this by switching
to serialize_precision, which (by default) will print with
as much precision as necessary to preserve the exact value
of the float.

This also affects debug_zval_dump().

Closes GH-5172.

4 years agoFix argon2 test if provided by sodium
Nikita Popov [Mon, 24 Feb 2020 20:34:37 +0000 (21:34 +0100)]
Fix argon2 test if provided by sodium

4 years agoMerge branch 'PHP-7.4'
Nikita Popov [Mon, 24 Feb 2020 11:41:49 +0000 (12:41 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Enable ext/sodium in CI
  Add skipif for argon2id in test

4 years agoEnable ext/sodium in CI
Nikita Popov [Mon, 24 Feb 2020 10:00:58 +0000 (11:00 +0100)]
Enable ext/sodium in CI

4 years agoAdd skipif for argon2id in test
Nikita Popov [Mon, 24 Feb 2020 10:59:46 +0000 (11:59 +0100)]
Add skipif for argon2id in test

If argon2i is provided by libargon, then argon2id may not be
available here.

4 years agoMerge branch 'PHP-7.4'
Nikita Popov [Mon, 24 Feb 2020 09:20:49 +0000 (10:20 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Don't treat any WS as start of header

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Mon, 24 Feb 2020 09:20:43 +0000 (10:20 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Don't treat any WS as start of header

4 years agoDon't treat any WS as start of header
Nikita Popov [Mon, 24 Feb 2020 09:19:58 +0000 (10:19 +0100)]
Don't treat any WS as start of header

Check that the header occurs after \n, not other whitespace
characters.

4 years agoMerge branch 'PHP-7.4'
Nikita Popov [Mon, 24 Feb 2020 09:07:28 +0000 (10:07 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Reduce code duplication in HTTP header checks

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Mon, 24 Feb 2020 09:03:30 +0000 (10:03 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Reduce code duplication in HTTP header checks

4 years agoReduce code duplication in HTTP header checks
Nikita Popov [Mon, 24 Feb 2020 08:58:29 +0000 (09:58 +0100)]
Reduce code duplication in HTTP header checks

4 years agoReduce code duplication in HTTP header checks
Nikita Popov [Mon, 24 Feb 2020 08:58:29 +0000 (09:58 +0100)]
Reduce code duplication in HTTP header checks

4 years agoMerge branch 'PHP-7.4'
Nikita Popov [Mon, 24 Feb 2020 08:51:55 +0000 (09:51 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fixes #79265: Improper injection of Host header when using fopen for http requests

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Mon, 24 Feb 2020 08:50:57 +0000 (09:50 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fixes #79265: Improper injection of Host header when using fopen for http requests

4 years agoFixes #79265: Improper injection of Host header when using fopen for http requests
Miguel Xavier Penha Neto [Mon, 24 Feb 2020 05:04:37 +0000 (02:04 -0300)]
Fixes #79265: Improper injection of Host header when using fopen for http requests

Check all occurrences of the string "host:" (and other headers),
not just the first one.

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Sun, 23 Feb 2020 22:35:33 +0000 (23:35 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix #79299: com_print_typeinfo prints duplicate variables

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Sun, 23 Feb 2020 22:33:28 +0000 (23:33 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #79299: com_print_typeinfo prints duplicate variables

4 years agoFix #79299: com_print_typeinfo prints duplicate variables
Christoph M. Becker [Sun, 23 Feb 2020 22:23:12 +0000 (23:23 +0100)]
Fix #79299: com_print_typeinfo prints duplicate variables

`lastid` has to retain its value during the traversal, so we move it to
an outer scope.

Patch contributed by Litiano Moura.

4 years agoMerge branch 'PHP-7.4'
Jakub Zelenka [Sun, 23 Feb 2020 19:15:05 +0000 (19:15 +0000)]
Merge branch 'PHP-7.4'

4 years agoFix bug #79014 (PHP-FPM & Primary script unknown)
Jakub Zelenka [Sun, 23 Feb 2020 19:14:05 +0000 (19:14 +0000)]
Fix bug #79014 (PHP-FPM & Primary script unknown)

4 years agoMerge branch 'PHP-7.4'
Jakub Zelenka [Sun, 23 Feb 2020 18:32:20 +0000 (18:32 +0000)]
Merge branch 'PHP-7.4'

4 years agoFix bug #77653 (operator displayed instead of the real error message)
Jakub Zelenka [Sun, 9 Feb 2020 19:40:25 +0000 (19:40 +0000)]
Fix bug #77653 (operator displayed instead of the real error message)

4 years agoUpdate Travis build config
George Peter Banyard [Sun, 23 Feb 2020 02:27:05 +0000 (03:27 +0100)]
Update Travis build config

The sudo key is deprecated and doesn't do anything anymore.

Adding the "os" key with default value "linux" which was assumed to the build config.

4 years agoSecond go at fixing [-Wmissing-field-initializers] compiler warning in PDO
George Peter Banyard [Sat, 22 Feb 2020 00:01:07 +0000 (01:01 +0100)]
Second go at fixing [-Wmissing-field-initializers] compiler warning in PDO

By 0 initializing the sub structs

4 years agoAdd rand() to ext/standard stub
Nikita Popov [Fri, 21 Feb 2020 15:26:57 +0000 (16:26 +0100)]
Add rand() to ext/standard stub

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Fri, 21 Feb 2020 12:38:29 +0000 (13:38 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix #79294: ::columnType() may fail after SQLite3Stmt::reset()

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Fri, 21 Feb 2020 12:37:14 +0000 (13:37 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #79294: ::columnType() may fail after SQLite3Stmt::reset()

4 years agoFix #79294: ::columnType() may fail after SQLite3Stmt::reset()
Christoph M. Becker [Fri, 21 Feb 2020 12:24:37 +0000 (13:24 +0100)]
Fix #79294: ::columnType() may fail after SQLite3Stmt::reset()

The fix for feature request #53466 did not properly handle resetting of
the corresponding statement; the problem with this is that the
statement does not know about its result sets.  But even if we could
fix this, the `complete` handling still appears to be brittle, since
the `sqlite3_column_type()`docs[1] state:

| If the SQL statement does not currently point to a valid row, or if
| the column index is out of range, the result is undefined.

Fortunately, we can use `sqlite3_data_count()` instead, since[2]:

| If prepared statement P does not have results ready to return (via
| calls to the sqlite3_column() family of interfaces) then
| sqlite3_data_count(P) returns 0.

Thus, we guard `SQLite3::columnType()` with `sqlite3_data_count()`, and
completely drop updating the `php_sqlite3_result_object.complete`
field, but keep it for ABI BC purposes.

[1] <https://www.sqlite.org/c3ref/column_blob.html>
[2] <https://www.sqlite.org/c3ref/data_count.html>

4 years agoFix [-Wmissing-field-initializers] compiler warning in mbstring
George Peter Banyard [Fri, 21 Feb 2020 12:19:09 +0000 (13:19 +0100)]
Fix [-Wmissing-field-initializers] compiler warning in mbstring

Add missing NULL pointer for mbfl_convert_vtbl struct.

4 years agoMerge branch 'PHP-7.4'
Nikita Popov [Fri, 21 Feb 2020 10:58:59 +0000 (11:58 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Don't use asm arithmetic under msan

4 years agoDon't use asm arithmetic under msan
Nikita Popov [Sun, 29 Sep 2019 09:33:45 +0000 (11:33 +0200)]
Don't use asm arithmetic under msan

Clang 9 supports asm goto, so these no longer get automatically
skipped.

(cherry picked from commit 33bf1495b215d555d45ec638376bd434d8a038b3)

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Fri, 21 Feb 2020 09:33:53 +0000 (10:33 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Add test for bug #78569

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Fri, 21 Feb 2020 09:32:45 +0000 (10:32 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Add test for bug #78569

4 years agoAdd test for bug #78569
Christoph M. Becker [Fri, 21 Feb 2020 09:30:51 +0000 (10:30 +0100)]
Add test for bug #78569

4 years agoMerge branch 'PHP-7.4'
Nikita Popov [Fri, 21 Feb 2020 09:12:45 +0000 (10:12 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Update Ubuntu version on Azure

4 years agoUpdate Ubuntu version on Azure
Nikita Popov [Thu, 20 Feb 2020 14:05:04 +0000 (15:05 +0100)]
Update Ubuntu version on Azure

The i386 and community jobs were still on 16.04, update them to
18.04.

4 years agoMake SPL doubly linked list smaller
Nikita Popov [Fri, 21 Feb 2020 08:53:17 +0000 (09:53 +0100)]
Make SPL doubly linked list smaller

Store rc in data u2. This drops element size from 40 to 32 bytes.

4 years agoUpdate UPGRADING
Máté Kocsis [Thu, 20 Feb 2020 10:13:20 +0000 (11:13 +0100)]
Update UPGRADING

[skip ci]

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Thu, 20 Feb 2020 09:59:05 +0000 (10:59 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix NEWS [ci skip]

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Thu, 20 Feb 2020 09:56:29 +0000 (10:56 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix NEWS [ci skip]

4 years agoFix NEWS [ci skip]
Christoph M. Becker [Thu, 20 Feb 2020 09:55:17 +0000 (10:55 +0100)]
Fix NEWS [ci skip]

Cosmetics.

4 years agoRemove restore_include_path()
Máté Kocsis [Wed, 19 Feb 2020 19:36:45 +0000 (20:36 +0100)]
Remove restore_include_path()

Closes GH-5189

4 years agoImprove comment on RFC 1867 filename handling
Bishop Bettini [Wed, 19 Feb 2020 16:30:32 +0000 (11:30 -0500)]
Improve comment on RFC 1867 filename handling

It was pointed out on the internals ML[1] that the basename comment
around RFC 1867 file handling was confusing. The comment seemed to
say that the basename handling was only necessary because of some
esoteric bug in Windows IE. In fact that comment applied to earlier
versions of the code and was, therefore, misleading. The comment
needs to clear that basename is required per RFC 7578[2].

[1]:https://externals.io/message/108624
[2]:https://tools.ietf.org/html/rfc7578

4 years agoRemove the deprecated reflection export methods
Máté Kocsis [Tue, 18 Feb 2020 23:00:50 +0000 (00:00 +0100)]
Remove the deprecated reflection export methods

Closes GH-5188

4 years agoCreate memory stream in exif fuzzer
Nikita Popov [Wed, 19 Feb 2020 09:22:54 +0000 (10:22 +0100)]
Create memory stream in exif fuzzer

At least one segfault observed because temp file creation failed.
Switch to using a memory stream, which should be more robust, and
more efficient for that matter.

4 years agoHandle static return type in AST printer
Nikita Popov [Wed, 19 Feb 2020 08:45:41 +0000 (09:45 +0100)]
Handle static return type in AST printer

Fixes OSS-Fuzz #20782.

4 years agoAdd stubs for aliases
Máté Kocsis [Tue, 18 Feb 2020 18:59:15 +0000 (19:59 +0100)]
Add stubs for aliases

Closes GH-5187

4 years agoMerge branch 'PHP-7.4'
Nikita Popov [Tue, 18 Feb 2020 15:18:50 +0000 (16:18 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Don't use VLA in mysqlnd auth

4 years agoDon't use VLA in mysqlnd auth
Nikita Popov [Tue, 18 Feb 2020 15:17:34 +0000 (16:17 +0100)]
Don't use VLA in mysqlnd auth

We use alloca instead of VLA. This should also allow building
this code on Windows.

4 years agoHandle EXIF offsets in a principled manner
Nikita Popov [Tue, 17 Dec 2019 11:21:05 +0000 (12:21 +0100)]
Handle EXIF offsets in a principled manner

exif_process_IFD_TAG() currently accepts a dir_entry, offset_base
and IFDlength. However, it's very hard to follow how these values
are related to each other and the addressable memory region. As we
add additional bounds check, this gets further confused.

One of the basic cases is where dir_entry is in
[offset_base, offset_base+IFDlength), in which case the memory
[dir_entry, offset_base+IFDlength) is valid, but the memory
[offset_base, dir_entry) is not necessarily valid. I wasn't able
to understand what exactly is valid if dir_entry is outside
[offset_base, offset_base+IFDlength)

This patch changes everything to use a struct that separately stores
offset_base and the valid memory region and adds helpers to fetch
offsets and check that pointers are in-bounds.

Closes GH-5068.

4 years agoDeprecate required param after optional
Nikita Popov [Thu, 9 Jan 2020 11:21:02 +0000 (12:21 +0100)]
Deprecate required param after optional

As an exception, we allow "Type $foo = null" to occur before a
required parameter, because this pattern was used as a replacement
for nullable types in PHP versions older than 7.1.

Closes GH-5067.

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Tue, 18 Feb 2020 10:12:08 +0000 (11:12 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Remove extra tab in NEWS [ci skip]

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

* PHP-7.3:
  Remove extra tab in NEWS [ci skip]

4 years agoRemove extra tab in NEWS [ci skip]
Christoph M. Becker [Tue, 18 Feb 2020 10:09:37 +0000 (11:09 +0100)]
Remove extra tab in NEWS [ci skip]

4 years agoMerge branch 'PHP-7.4'
Remi Collet [Tue, 18 Feb 2020 10:01:21 +0000 (11:01 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  bump version to 7.2.29

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Remi Collet [Tue, 18 Feb 2020 10:01:07 +0000 (11:01 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  bump version to 7.2.29

4 years agoMerge branch 'PHP-7.2' into PHP-7.3
Remi Collet [Tue, 18 Feb 2020 10:00:49 +0000 (11:00 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  bump version to 7.2.29

4 years agobump version to 7.2.29
Remi Collet [Tue, 18 Feb 2020 10:00:28 +0000 (11:00 +0100)]
bump version to 7.2.29

4 years agoAdd return types to FFI methods
Nikita Popov [Tue, 18 Feb 2020 09:28:43 +0000 (10:28 +0100)]
Add return types to FFI methods

The FFI class is final, so we can use proper return types.

4 years agoAdd proper return types to final phar methods
Nikita Popov [Tue, 18 Feb 2020 09:20:21 +0000 (10:20 +0100)]
Add proper return types to final phar methods

As these are final, we can add return types to them.

4 years agoRemove mysqli reflection tests
Nikita Popov [Tue, 18 Feb 2020 09:08:03 +0000 (10:08 +0100)]
Remove mysqli reflection tests

4 years agoFix zpp in mysqli_warning::next()
Nikita Popov [Tue, 18 Feb 2020 09:01:17 +0000 (10:01 +0100)]
Fix zpp in mysqli_warning::next()

This only exists as a method, so using zend_parse_method_parameters
doesn't make sense. Also make sure that zpp is always called, not
only conditionally.

4 years ago[ci skip] I still help to maintain these extensions
Christoph M. Becker [Tue, 18 Feb 2020 08:47:35 +0000 (09:47 +0100)]
[ci skip] I still help to maintain these extensions

or at least planning to.

4 years agoMake quoting of cmd execution functions consistent
Christoph M. Becker [Tue, 21 Jan 2020 09:05:33 +0000 (10:05 +0100)]
Make quoting of cmd execution functions consistent

While the `$command` passed to `proc_open()` had to be wrapped in
double-quotes manually, that was implicitly done for all other
program execution functions.  This could easily introduce bugs and
even security issues when switching from one to another program
execution function.

Furthermore we ensure that the additional quotes are always
unwrapped regardless of what is passed as `$command` by passing
the `/s` flag to cmd.exe.  As it was, `shell_exec('path with
spaces/program.exe')` did execute program.exe, but adding an
argument (`shell_exec('path with spaces/program.exe -h)`) failed
to execute program.exe, because cmd.exe stripped the additional
quotes.

While these changes obviously can cause BC breaks, we feel that in
the long run the benefits of having consistent behavior for all
program execution functions outweighs the drawbacks of potentially
breaking some code now.

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Mon, 17 Feb 2020 21:55:16 +0000 (22:55 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix #79038: PDOStatement::nextRowset() leaks column values

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Mon, 17 Feb 2020 21:53:50 +0000 (22:53 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #79038: PDOStatement::nextRowset() leaks column values

4 years agoFix #79038: PDOStatement::nextRowset() leaks column values
Christoph M. Becker [Fri, 27 Dec 2019 12:20:11 +0000 (13:20 +0100)]
Fix #79038: PDOStatement::nextRowset() leaks column values

Firstly, we must not rely on `stmt->column_count` when freeing the
driver specific column values, but rather store the column count in
the driver data.  Since the column count is a `short`, 16 bit are
sufficient, so we can store it in reserved bits of `pdo_odbc_stmt`.

Furthermore, we must not allocate new column value storage when the
statement is not executed, but rather when the column value storage has
not been allocated.

Finally, we have to introduce a driver specific `cursor_closer` to
avoid that `::closeCursor()` calls `odbc_stmt_next_rowset()` which then
frees the column value storage, because it may be still needed for
bound columns.

4 years agoRename php_dom_create_interator() to php_dom_create_iterator()
Christoph M. Becker [Mon, 17 Feb 2020 21:49:59 +0000 (22:49 +0100)]
Rename php_dom_create_interator() to php_dom_create_iterator()

Thus fixing an obvious typo.

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Mon, 17 Feb 2020 18:37:24 +0000 (19:37 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix NEWS [ci skip]

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Mon, 17 Feb 2020 18:36:07 +0000 (19:36 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix NEWS [ci skip]

4 years agoFix NEWS [ci skip]
Christoph M. Becker [Mon, 17 Feb 2020 18:35:42 +0000 (19:35 +0100)]
Fix NEWS [ci skip]

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Mon, 17 Feb 2020 18:25:36 +0000 (19:25 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Update NEWS [ci skip]

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Mon, 17 Feb 2020 18:24:04 +0000 (19:24 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Update NEWS [ci skip]

4 years agoMerge branch 'PHP-7.2' into PHP-7.3
Christoph M. Becker [Mon, 17 Feb 2020 18:22:15 +0000 (19:22 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Update NEWS [ci skip]

4 years agoUpdate NEWS [ci skip]
Christoph M. Becker [Mon, 17 Feb 2020 18:21:51 +0000 (19:21 +0100)]
Update NEWS [ci skip]

4 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Mon, 17 Feb 2020 18:09:35 +0000 (19:09 +0100)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix # 79171: heap-buffer-overflow in phar_extract_file
  Fix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access permissions
  Fix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress
  Mark bug76348.phpt as online test
  Fix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access permissions
  Fix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress

4 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Mon, 17 Feb 2020 18:08:22 +0000 (19:08 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix # 79171: heap-buffer-overflow in phar_extract_file
  Fix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access permissions
  Fix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress
  Mark bug76348.phpt as online test
  Fix bug #79082 - Files added to tar with Phar::buildFromIterator have all-access permissions
  Fix bug #79221 - Null Pointer Dereference in PHP Session Upload Progress