]> granicus.if.org Git - php/log
php
5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Fri, 28 Jun 2019 12:48:08 +0000 (14:48 +0200)]
Merge branch 'PHP-7.4'

5 years agoFix out of bounds read in sccp
Nikita Popov [Fri, 28 Jun 2019 10:38:28 +0000 (12:38 +0200)]
Fix out of bounds read in sccp

5 years agoAvoid reliance on arena details on phpdbg oplog
Nikita Popov [Fri, 28 Jun 2019 10:32:54 +0000 (12:32 +0200)]
Avoid reliance on arena details on phpdbg oplog

Instead of guessing what the address of the first arena allocation
is going to be, embed the sentinel in the oplog_list structure
directly.

5 years agoUpdate error message in libmysql test
Nikita Popov [Fri, 28 Jun 2019 12:36:10 +0000 (14:36 +0200)]
Update error message in libmysql test

5 years agoFix compilation errors when building against libmysql
Sebastian Pop [Fri, 21 Jun 2019 07:15:35 +0000 (07:15 +0000)]
Fix compilation errors when building against libmysql

Closes GH-4316.

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Fri, 28 Jun 2019 10:45:26 +0000 (12:45 +0200)]
Merge branch 'PHP-7.4'

5 years agoFix out-of-bounds read in array compilation
Nikita Popov [Fri, 28 Jun 2019 08:24:56 +0000 (10:24 +0200)]
Fix out-of-bounds read in array compilation

UNPACK elements only have one child. Don't access the second one
until we have excluded this case.

5 years agoAdd tracked arena allocator
Nikita Popov [Fri, 28 Jun 2019 08:19:18 +0000 (10:19 +0200)]
Add tracked arena allocator

Available under -DZEND_TRACK_ARENA_ALLOC. This will use the system
allocator combined with arena checkpointing & release semantics
and allows analyzing arena usage under asan/valgrind.

I've sacrificed the duplicate arena implementation in mysqlnd, as
the integration with mysqlnd alloc is not worth the code duplication
to me.

5 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Fri, 28 Jun 2019 10:38:17 +0000 (12:38 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix bug #78192 PDO SQLite SegFault when reuse statement after schema has changed

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Fri, 28 Jun 2019 10:37:28 +0000 (12:37 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix bug #78192 PDO SQLite SegFault when reuse statement after schema has changed

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Christoph M. Becker [Fri, 28 Jun 2019 10:36:33 +0000 (12:36 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Fix bug #78192 PDO SQLite SegFault when reuse statement after schema has changed

5 years agoFix bug #78192 PDO SQLite SegFault when reuse statement after schema has changed
Vincent [Wed, 26 Jun 2019 09:37:08 +0000 (11:37 +0200)]
Fix bug #78192 PDO SQLite SegFault when reuse statement after schema has changed

Reset stmt->columns when column count changed on new execution of prepared statement

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Fri, 28 Jun 2019 09:10:25 +0000 (11:10 +0200)]
Merge branch 'PHP-7.4'

5 years agoAdd support for proc_open() with a command array
Nikita Popov [Mon, 24 Jun 2019 10:53:40 +0000 (12:53 +0200)]
Add support for proc_open() with a command array

In this case the progarm will be executed directly, without a shell.
On Linux the arguments are passed directly to execvp and no escaping
is necessary. On Windows we construct a command string using escaping
with the default Windows command-line argument parsing method described
at https://docs.microsoft.com/en-us/cpp/cpp/parsing-cpp-command-line-arguments.

Apart from avoiding the issue of argument escaping, passing an array
and bypassing shell has the advantage of allowing proper signal
delivery to the opened process (rather than the shell).

5 years agoMerge branch 'PHP-7.4'
Dmitry Stogov [Fri, 28 Jun 2019 09:03:27 +0000 (12:03 +0300)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Reduce overhead

5 years agoReduce overhead
Dmitry Stogov [Fri, 28 Jun 2019 09:03:01 +0000 (12:03 +0300)]
Reduce overhead

5 years agoMerge branch 'PHP-7.4'
Joe Watkins [Fri, 28 Jun 2019 08:27:39 +0000 (10:27 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  implement tsrm_is_shutdown API

5 years agoimplement tsrm_is_shutdown API
Joe Watkins [Wed, 26 Jun 2019 11:18:50 +0000 (13:18 +0200)]
implement tsrm_is_shutdown API

5 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Fri, 28 Jun 2019 08:24:15 +0000 (10:24 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Use the portable zend_strndup() instead of strndup()

5 years agoUse the portable zend_strndup() instead of strndup()
Christoph M. Becker [Fri, 28 Jun 2019 08:20:50 +0000 (10:20 +0200)]
Use the portable zend_strndup() instead of strndup()

5 years agoMerge branch 'PHP-7.4'
Dmitry Stogov [Fri, 28 Jun 2019 07:44:13 +0000 (10:44 +0300)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fixed use-after-free

5 years agoFixed use-after-free
Dmitry Stogov [Fri, 28 Jun 2019 07:43:56 +0000 (10:43 +0300)]
Fixed use-after-free

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Fri, 28 Jun 2019 07:19:49 +0000 (09:19 +0200)]
Merge branch 'PHP-7.4'

5 years agoFix mysqlnd memory leak
Nikita Popov [Thu, 27 Jun 2019 14:52:19 +0000 (16:52 +0200)]
Fix mysqlnd memory leak

The actual leak is observed in ext/pdo_mysql/tests/bug_74376.phpt.
The persistent connection leaks because a refcount decrement on a
result is missed. The refcount decrement is missed because
free_result_contents is used, rather than free_result.

Looking at other uses of free_result_contents, it looks like they
could also suffer from this problem. Apart from one case,
free_result_contents is always used to release the result entirely
(I've adjusted the one differing case to only free meta), so I'm
moving most of the logic from free_result into free_result_contents.
The only difference is now that free_result will skip_result first.

5 years agoFree ZTS lock in opcache
Nikita Popov [Thu, 27 Jun 2019 14:01:13 +0000 (16:01 +0200)]
Free ZTS lock in opcache

For some reason this only shows up as a leak when using phpdbg.

5 years agoFix init_file leak in phpdbg
Nikita Popov [Thu, 27 Jun 2019 13:43:50 +0000 (15:43 +0200)]
Fix init_file leak in phpdbg

5 years agorun-tests: Don't pass --INI-- settings to --SKIPIF--
Nikita Popov [Thu, 27 Jun 2019 12:07:20 +0000 (14:07 +0200)]
run-tests: Don't pass --INI-- settings to --SKIPIF--

If we're testing ini settings that cause startup failures, we'll
never get to that SKIPIF block...

Also change settings2param to return a value instead of modifying
(to a different type no less!) in place.

5 years agoFix custom heap free
Nikita Popov [Fri, 28 Jun 2019 07:13:45 +0000 (09:13 +0200)]
Fix custom heap free

This seems to be designed around the use-case where the custom
allocator is a wrapper around ZMM.

5 years agoMerge branch 'PHP-7.4'
Sara Golemon [Thu, 27 Jun 2019 23:28:04 +0000 (19:28 -0400)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Bugfix #78208 Needs rehash with an unknown algo should always return true.

5 years agoBugfix #78208 Needs rehash with an unknown algo should always return true.
Sara Golemon [Thu, 27 Jun 2019 23:00:32 +0000 (19:00 -0400)]
Bugfix #78208 Needs rehash with an unknown algo should always return true.

5 years agoMerge branch 'PHP-7.4'
Peter Kokot [Thu, 27 Jun 2019 22:32:08 +0000 (00:32 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Catch up with some recent changes [ci skip]

5 years agoCatch up with some recent changes [ci skip]
Peter Kokot [Tue, 25 Jun 2019 20:32:54 +0000 (22:32 +0200)]
Catch up with some recent changes [ci skip]

- Mention mysqli::stat()
- Mention removal of HAVE_* for always defined extensions
- Mention removed symbols defined during the build

5 years agoFix typo
Peter Kokot [Thu, 27 Jun 2019 22:26:24 +0000 (00:26 +0200)]
Fix typo

5 years agoMerge branch 'PHP-7.4'
Peter Kokot [Thu, 27 Jun 2019 22:13:25 +0000 (00:13 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Remove HAVE_STRCOLL check

5 years agoRemove HAVE_STRCOLL check
Peter Kokot [Sun, 23 Jun 2019 13:51:24 +0000 (15:51 +0200)]
Remove HAVE_STRCOLL check

The strcoll function is defined in the C89 standard and should be
on today's systems always available via the <string.h> header.

https://port70.net/~nsz/c/c89/c89-draft.html#4.11.4.3

- Remove also SKIPIF strcoll check in test

5 years agoMerge branch 'PHP-7.4'
Peter Kokot [Thu, 27 Jun 2019 21:29:11 +0000 (23:29 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Sync HAVE_HASH, HAVE_HASH_EXT, PHAR_HASH_OK symbols

5 years agoSync HAVE_HASH, HAVE_HASH_EXT, PHAR_HASH_OK symbols
Peter Kokot [Wed, 26 Jun 2019 01:01:45 +0000 (03:01 +0200)]
Sync HAVE_HASH, HAVE_HASH_EXT, PHAR_HASH_OK symbols

The hash extension is always available since PHP-7.4. The symbol
HAVE_HASH_EXT is kept for BC reasons and removed in PHP-8.0.

This patch also removes the PHAR_HASH_OK since it is no longer
relevant.

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Thu, 27 Jun 2019 14:16:57 +0000 (16:16 +0200)]
Merge branch 'PHP-7.4'

5 years agoRemove posix_getlogin_basic.phpt test
Nikita Popov [Thu, 27 Jun 2019 14:15:13 +0000 (16:15 +0200)]
Remove posix_getlogin_basic.phpt test

The premise of this test (that the getlogin user has to be the same
as the geteuid user) is incorrect.

5 years agoFix opcache blacklist leak
Nikita Popov [Thu, 27 Jun 2019 11:09:14 +0000 (13:09 +0200)]
Fix opcache blacklist leak

Don't recompute (and leak) the regex for every glob element, only
do this once at the end.

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Thu, 27 Jun 2019 12:21:49 +0000 (14:21 +0200)]
Merge branch 'PHP-7.4'

5 years agoFix phpdbg shutdown order
Nikita Popov [Thu, 27 Jun 2019 10:46:06 +0000 (12:46 +0200)]
Fix phpdbg shutdown order

In particular, make sure that everything using zmm is released
before zmm is shut down. phpdbg currently gets away with this,
because either a) its custom handlers are used and no auto-free
happens or b) the system allocator is used and no auto-free happens.
With the tracking allocator for asan this no longer works.

5 years agoDon't use zmm for PHPDBG_G(exec)
Nikita Popov [Thu, 27 Jun 2019 10:41:41 +0000 (12:41 +0200)]
Don't use zmm for PHPDBG_G(exec)

Uses system allocator when backing up settings ... let's avoid
unnecessary confusion.

5 years agoFix persistent XML memory leaks in SOAP
Nikita Popov [Thu, 27 Jun 2019 08:57:49 +0000 (10:57 +0200)]
Fix persistent XML memory leaks in SOAP

SOAP uses a horrible bailout based error handling approach -- avoid
leaking persistent XML memory by catching bailouts in a number of
places.

5 years agoAdd tracked allocator mode
Nikita Popov [Thu, 27 Jun 2019 08:30:45 +0000 (10:30 +0200)]
Add tracked allocator mode

In this case we will use the system allocator, but still remember
all allocations and free them the same way that Zend MM does. This
allows us to accurately model leak behavior.

Enabled using USE_ZEND_ALLOC=0 USE_TRACKED_ALLOC=1.

5 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Thu, 27 Jun 2019 11:05:43 +0000 (13:05 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Show actual enchant version if possible

5 years agoShow actual enchant version if possible
Christoph M. Becker [Thu, 27 Jun 2019 11:04:49 +0000 (13:04 +0200)]
Show actual enchant version if possible

As of libenchant 1.6.0 there is enchant_get_version()[1], so we use it,
if available, to show the actual enchant version in the PHP info.  We
also drop the fake ENCHANT_VERSION_STRING altogether, but stick with
showing version 1.5.x if at least HAVE_ENCHANT_BROKER_SET_PARAM is
defined.

Future scope: we may consider requiring enchant 1.6.0 (or later), since
this has been released in April 2010, and likely is available
everywhere.

[1] <https://www.abisource.com/projects/enchant/>

5 years agoMerge branch 'PHP-7.4'
Dmitry Stogov [Thu, 27 Jun 2019 10:11:37 +0000 (13:11 +0300)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Separate common code abd eliminate useless checks

5 years agoSeparate common code abd eliminate useless checks
Dmitry Stogov [Thu, 27 Jun 2019 10:11:08 +0000 (13:11 +0300)]
Separate common code abd eliminate useless checks

5 years agoMerge branch 'PHP-7.4'
Dmitry Stogov [Thu, 27 Jun 2019 08:28:14 +0000 (11:28 +0300)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Inline hot path

5 years agoInline hot path
Dmitry Stogov [Thu, 27 Jun 2019 08:27:53 +0000 (11:27 +0300)]
Inline hot path

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Thu, 27 Jun 2019 07:48:47 +0000 (09:48 +0200)]
Merge branch 'PHP-7.4'

5 years agoMake zend_hash_rehash() a void function
Andrey Gromov [Mon, 24 Jun 2019 08:56:50 +0000 (11:56 +0300)]
Make zend_hash_rehash() a void function

It always succeeds.

Closes GH-4304.

5 years agoFix persistent connection leak in mysqli
Nikita Popov [Wed, 26 Jun 2019 14:51:12 +0000 (16:51 +0200)]
Fix persistent connection leak in mysqli

5 years agoFix use-after-free in stream freeing during shutdown
Nikita Popov [Wed, 26 Jun 2019 08:58:29 +0000 (10:58 +0200)]
Fix use-after-free in stream freeing during shutdown

Streams will be freed in an unpredictable order during shutdown.
Ignore explicit calls to php_stream_close() entirely to avoid
use-after-free -- instead let the stream resource destructor
deal with it. We have to account for a few special cases:

 * Enclosed streams should be freed, as the resource destructor
   will forward to the enclosing stream.
 * Stream cookies also directly free streams, because we delegate
   to the cookie destruction if one exists.
 * Mysqlnd also directly frees streams, because it explicitly
   removes stream resources (because mysqlnd!)

5 years agoMerge branch 'PHP-7.4'
Peter Kokot [Thu, 27 Jun 2019 00:45:31 +0000 (02:45 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Clean headers checks

5 years agoClean headers checks
Peter Kokot [Sun, 23 Jun 2019 20:04:03 +0000 (22:04 +0200)]
Clean headers checks

Some headers were checked multiple times in the main configure.ac file
and in the bundled extensions or SAPIs themselves. Also many of these
checks are then used accross other extensions or SAPIs so a central
configure.ac makes most sense for these checks.

5 years agoMerge branch 'PHP-7.4'
Dmitry Stogov [Wed, 26 Jun 2019 23:25:57 +0000 (02:25 +0300)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Avoid double checks on early binding

5 years agoAvoid double checks on early binding
Dmitry Stogov [Wed, 26 Jun 2019 23:13:06 +0000 (02:13 +0300)]
Avoid double checks on early binding

5 years agoMerge branch 'PHP-7.4'
Peter Kokot [Wed, 26 Jun 2019 23:00:33 +0000 (01:00 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Remove warnings for bison and re2c checks

5 years agoRemove warnings for bison and re2c checks
Peter Kokot [Sun, 23 Jun 2019 13:53:19 +0000 (15:53 +0200)]
Remove warnings for bison and re2c checks

This patch removes warnings when lexer and parser files are already
generated. For example, when downloading a PHP release. Realistically,
it is not so trivial to rebuild lexer and parser files without removing
them first. And considering that tarballs don't have cleaning tools
such as Git, this would require manual removali.

Related also to https://bugs.gentoo.org/593278

5 years agoMerge branch 'PHP-7.4'
Peter Kokot [Wed, 26 Jun 2019 22:27:43 +0000 (00:27 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix concurrent testing of bug 61964

5 years agoFix concurrent testing of bug 61964
Peter Kokot [Tue, 25 Jun 2019 19:23:07 +0000 (21:23 +0200)]
Fix concurrent testing of bug 61964

When tests are run concurrently using the -j option there might be a
change of failure and writing to the same directory from both tests.

Use test filenames for generated temp dirs

5 years agoMerge branch 'PHP-7.4'
Peter Kokot [Wed, 26 Jun 2019 22:25:14 +0000 (00:25 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fix posix_errno test without PCNTL dep

5 years agoFix posix_errno test without PCNTL dep
Peter Kokot [Tue, 25 Jun 2019 18:21:16 +0000 (20:21 +0200)]
Fix posix_errno test without PCNTL dep

When PCNTL extension is not enabled, the SIGKILL constant is also not
available.

5 years agoMerge branch 'PHP-7.4'
Peter Kokot [Wed, 26 Jun 2019 21:51:46 +0000 (23:51 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Remove unused HAVE_DATE and HAVE_SPL symbols

5 years agoRemove unused HAVE_DATE and HAVE_SPL symbols
Peter Kokot [Wed, 26 Jun 2019 00:36:44 +0000 (02:36 +0200)]
Remove unused HAVE_DATE and HAVE_SPL symbols

These two are never defined anymore since PHP 7.4 and can be
considered to have always available date and hash extensions.

5 years agoMerge branch 'PHP-7.4'
Peter Kokot [Wed, 26 Jun 2019 21:13:01 +0000 (23:13 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Remove HAVE_STRTOD and strtod check

5 years agoRemove HAVE_STRTOD and strtod check
Peter Kokot [Sun, 23 Jun 2019 13:41:43 +0000 (15:41 +0200)]
Remove HAVE_STRTOD and strtod check

There is no need to check for the strtod function. It is part of C89
standard which PHP-7.4+ supports.

http://port70.net/~nsz/c/c89/c89-draft.html#4.10.1.4

5 years agoMerge branch 'PHP-7.4'
Peter Kokot [Wed, 26 Jun 2019 20:38:35 +0000 (22:38 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Set Computer English language for credits sorting

5 years agoSet Computer English language for credits sorting
Peter Kokot [Sun, 23 Jun 2019 13:43:25 +0000 (15:43 +0200)]
Set Computer English language for credits sorting

This makes the script a bit more portable when used on systems with
different LC_ALL and LANG settings.

5 years agoMerge branch 'PHP-7.4'
Christoph M. Becker [Wed, 26 Jun 2019 15:04:33 +0000 (17:04 +0200)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Remove stream_socket_sendto.phpt

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Wed, 26 Jun 2019 15:02:08 +0000 (17:02 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Remove stream_socket_sendto.phpt

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Christoph M. Becker [Wed, 26 Jun 2019 15:01:29 +0000 (17:01 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Remove stream_socket_sendto.phpt

5 years agoRemove stream_socket_sendto.phpt
Nikita Popov [Wed, 26 Jun 2019 14:58:37 +0000 (16:58 +0200)]
Remove stream_socket_sendto.phpt

Fails for me locally due to different number of warnings with
different messages. Rather than adding more wildcards I'm dropping
this test entirely, as it doesn't seem to test anything particularly
useful.

(cherry picked from commit 84333cad674890174c47f3c21b1b1cf85a4276ac)

5 years agoMerge branch 'PHP-7.4'
Dmitry Stogov [Wed, 26 Jun 2019 10:27:41 +0000 (13:27 +0300)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Private methods don't have to be duplicated

5 years agoPrivate methods don't have to be duplicated
Dmitry Stogov [Wed, 26 Jun 2019 10:27:13 +0000 (13:27 +0300)]
Private methods don't have to be duplicated

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Wed, 26 Jun 2019 09:43:30 +0000 (11:43 +0200)]
Merge branch 'PHP-7.4'

5 years agoFix xml doc leak in soap
Nikita Popov [Tue, 25 Jun 2019 14:57:09 +0000 (16:57 +0200)]
Fix xml doc leak in soap

5 years agoUse ldap_destroy instead of ldap_unbind_ext
Nikita Popov [Tue, 25 Jun 2019 13:49:28 +0000 (15:49 +0200)]
Use ldap_destroy instead of ldap_unbind_ext

5 years agoFix fpm limit_extensions leak
Nikita Popov [Tue, 25 Jun 2019 13:01:58 +0000 (15:01 +0200)]
Fix fpm limit_extensions leak

The logic here is somewhat ugly because the worker pool structure
gets freed early, so we need to explicitly transfer ownership.

5 years ago[ci skip] Mention HAVE_HASH_EXT
Peter Kokot [Wed, 26 Jun 2019 01:15:28 +0000 (03:15 +0200)]
[ci skip] Mention HAVE_HASH_EXT

5 years agoMerge branch 'PHP-7.4'
Dmitry Stogov [Tue, 25 Jun 2019 22:08:43 +0000 (01:08 +0300)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Reorder conditions to minimize number of checks on fast path

5 years agoReorder conditions to minimize number of checks on fast path
Dmitry Stogov [Tue, 25 Jun 2019 22:00:31 +0000 (01:00 +0300)]
Reorder conditions to minimize number of checks on fast path

5 years agoMerge branch 'PHP-7.4'
Dmitry Stogov [Tue, 25 Jun 2019 21:44:10 +0000 (00:44 +0300)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Remove always true/false conditions, remove dead conde and simplify code.

5 years agoRemove always true/false conditions, remove dead conde and simplify code.
Dmitry Stogov [Tue, 25 Jun 2019 21:32:22 +0000 (00:32 +0300)]
Remove always true/false conditions, remove dead conde and simplify code.

5 years agoMerge branch 'PHP-7.4'
Dmitry Stogov [Tue, 25 Jun 2019 15:27:30 +0000 (18:27 +0300)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Replace previosly checked conditions by ZEND_ASSERT()

5 years agoReplace previosly checked conditions by ZEND_ASSERT()
Dmitry Stogov [Tue, 25 Jun 2019 15:26:56 +0000 (18:26 +0300)]
Replace previosly checked conditions by ZEND_ASSERT()

5 years agoMerge branch 'PHP-7.4'
Dmitry Stogov [Tue, 25 Jun 2019 14:44:49 +0000 (17:44 +0300)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Fixed variance check for abstract constructor during erlay binding

5 years agoFixed variance check for abstract constructor during erlay binding
Dmitry Stogov [Tue, 25 Jun 2019 14:43:46 +0000 (17:43 +0300)]
Fixed variance check for abstract constructor during erlay binding

5 years agoMerge branch 'PHP-7.4'
Dmitry Stogov [Tue, 25 Jun 2019 13:53:46 +0000 (16:53 +0300)]
Merge branch 'PHP-7.4'

* PHP-7.4:
  Cleanup

5 years agoCleanup
Dmitry Stogov [Tue, 25 Jun 2019 13:37:42 +0000 (16:37 +0300)]
Cleanup

5 years agoMerge branch 'PHP-7.4'
Nikita Popov [Tue, 25 Jun 2019 12:30:24 +0000 (14:30 +0200)]
Merge branch 'PHP-7.4'

5 years agoFFI: Perform bitfield operations byte-wise
Nikita Popov [Tue, 25 Jun 2019 09:32:18 +0000 (11:32 +0200)]
FFI: Perform bitfield operations byte-wise

Otherwise we may perform reads/writes outside the allocation, as
already happens in 032.phpt.

5 years agoFix out of bounds write in phpdbg
Nikita Popov [Tue, 25 Jun 2019 11:08:28 +0000 (13:08 +0200)]
Fix out of bounds write in phpdbg

It seems that this code has a peculiar interpretation of "len",
where it actually points to the last character, not one past it.
So we need +1 here for that extra char and another +1 for the
terminating null byte.

5 years agoFix CURLINFO_COOKIELIST leak
Nikita Popov [Tue, 25 Jun 2019 11:17:39 +0000 (13:17 +0200)]
Fix CURLINFO_COOKIELIST leak

5 years agoFix leak on sqlite3 open error
Nikita Popov [Tue, 25 Jun 2019 10:46:58 +0000 (12:46 +0200)]
Fix leak on sqlite3 open error

sqlite3_open creates the database object even if the operation
fails.

5 years agoFix SSL_CTX leak in ftp extension
Nikita Popov [Tue, 25 Jun 2019 10:09:47 +0000 (12:09 +0200)]
Fix SSL_CTX leak in ftp extension

SSL_CTX is a refcounted structure, which will be held by the SSL
handle, so we can free it here.

5 years agoFix UConverter leak
Nikita Popov [Tue, 25 Jun 2019 10:02:01 +0000 (12:02 +0200)]
Fix UConverter leak

5 years agoFix TimeZone leak in intl MessageFormat
Nikita Popov [Tue, 25 Jun 2019 09:51:40 +0000 (11:51 +0200)]
Fix TimeZone leak in intl MessageFormat

I'm just giving each format a distinct owned object here ... sharing
it looks complicated.