]> granicus.if.org Git - php/log
php
5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Fri, 4 Oct 2019 20:46:53 +0000 (22:46 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

5 years agoMake sure T_ERROR is returned for all lexer exceptions
Nikita Popov [Fri, 4 Oct 2019 20:42:14 +0000 (22:42 +0200)]
Make sure T_ERROR is returned for all lexer exceptions

This originally manifested as a leak in oss-fuzz #18000. The following
is a reduced test case:

    <?php
    [
        5 => 1,
        "foo" > 1,
        "      " => "" == 0
    ];
    <<<BAR
    $x
     BAR;

Because this particular error condition did not return T_ERROR,
EG(exception) was set while performing binary operation constant
evaluation, which checks exceptions for cast failures.

Instead of adding this indirect test case, I'm adding an assertion
that the lexer has to return T_ERROR if EG(exception) is set.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Fri, 4 Oct 2019 14:04:34 +0000 (16:04 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

5 years agoImprove diagnostic on PCRE JIT mmap failure
Nikita Popov [Fri, 4 Oct 2019 14:01:10 +0000 (16:01 +0200)]
Improve diagnostic on PCRE JIT mmap failure

Print a more informative message that indicates that this is
likely a permission issue, and also indicate that pcre.jit=0
can be used to work around it.

Also automatically disable the JIT, so that this message is
only shown once.

See bug #78630.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Fri, 4 Oct 2019 11:54:49 +0000 (13:54 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Split intl tests for ICU 65

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Christoph M. Becker [Fri, 4 Oct 2019 11:53:58 +0000 (13:53 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Split intl tests for ICU 65

5 years agoSplit intl tests for ICU 65
Christoph M. Becker [Fri, 4 Oct 2019 10:48:40 +0000 (12:48 +0200)]
Split intl tests for ICU 65

5 years agoFixed bug #78632
Nikita Popov [Fri, 4 Oct 2019 10:38:18 +0000 (12:38 +0200)]
Fixed bug #78632

I'm going for a very conservative fix here, where the previous
logic is restored for the case where an object is passed to
method_exists(). We might want to check against EG(scope) instead,
but this seems like a safer choice.

This means that behavior in PHP 7.4 changes only for
method_exists('C', 'privateMethodNotOnC'), which should be sensible.

5 years agoFix use-after-free with delayed interned memoized const operand
Nikita Popov [Fri, 4 Oct 2019 08:38:11 +0000 (10:38 +0200)]
Fix use-after-free with delayed interned memoized const operand

We should addref CONST operands during memoization, as they might
be destroyed by later compilation, e.g. through interning.

5 years agoFix crash when unpacking into array literal with string keys
Nikita Popov [Fri, 4 Oct 2019 08:11:30 +0000 (10:11 +0200)]
Fix crash when unpacking into array literal with string keys

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Fri, 4 Oct 2019 07:10:49 +0000 (09:10 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #78620: Out of memory error

5 years agoFixed bug #78614 (Does not compile with DTRACE anymore)
Dmitry Stogov [Fri, 4 Oct 2019 07:10:22 +0000 (10:10 +0300)]
Fixed bug #78614 (Does not compile with DTRACE anymore)

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Christoph M. Becker [Fri, 4 Oct 2019 07:09:25 +0000 (09:09 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Fix #78620: Out of memory error

5 years agoFix #78620: Out of memory error
Christoph M. Becker [Thu, 3 Oct 2019 17:23:05 +0000 (19:23 +0200)]
Fix #78620: Out of memory error

The integer addition in `ZEND_MM_ALIGNED_SIZE_EX` can overflow, what we
have to catch early.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Joe Watkins [Fri, 4 Oct 2019 04:16:02 +0000 (06:16 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  fix #78624: session_gc return value for user defined session handlers

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Joe Watkins [Fri, 4 Oct 2019 04:12:15 +0000 (06:12 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  fix #78624: session_gc return value for user defined session handlers

5 years agofix #78624: session_gc return value for user defined session handlers
Brent Shaffer [Wed, 2 Oct 2019 23:44:58 +0000 (16:44 -0700)]
fix #78624: session_gc return value for user defined session handlers

5 years agoFix typo in CODING_STANDARDS.md [ci skip]
tpfast [Fri, 4 Oct 2019 01:57:51 +0000 (21:57 -0400)]
Fix typo in CODING_STANDARDS.md [ci skip]

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Joe Watkins [Thu, 3 Oct 2019 05:12:49 +0000 (07:12 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix bug #76809 (SSL settings aren't respected when persistent connection is reused)

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Joe Watkins [Thu, 3 Oct 2019 04:56:45 +0000 (06:56 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Fix bug #76809 (SSL settings aren't respected when persistent connection is reused)

5 years agoFix bug #76809 (SSL settings aren't respected when persistent connection is reused)
Fábio Souto [Mon, 3 Sep 2018 16:18:37 +0000 (17:18 +0100)]
Fix bug #76809 (SSL settings aren't respected when persistent connection is reused)

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Joe Watkins [Thu, 3 Oct 2019 04:51:33 +0000 (06:51 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #76859 stream_get_line skips data if used with data-generating filter

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Joe Watkins [Thu, 3 Oct 2019 04:50:58 +0000 (06:50 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Fix #76859 stream_get_line skips data if used with data-generating filter

5 years agoFix #76859 stream_get_line skips data if used with data-generating filter
Konstantin Kopachev [Tue, 18 Sep 2018 04:44:01 +0000 (21:44 -0700)]
Fix #76859 stream_get_line skips data if used with data-generating filter

stream_get-line repeatedly calls php_stream_fill_read_buffer until
enough data is accumulated in buffer. However, when stream contains
filters attached to it, then each call to fill buffer essentially
resets buffer read/write pointers and new data is written over old.
This causes stream_get_line to skip parts of data from stream
This patch fixes such behavior, so fill buffer call will append.

5 years agoUpdated to version 2019.3 (2019c)
Derick Rethans [Wed, 2 Oct 2019 22:39:11 +0000 (23:39 +0100)]
Updated to version 2019.3 (2019c)

5 years agoEmpty merge
Derick Rethans [Wed, 2 Oct 2019 22:39:11 +0000 (23:39 +0100)]
Empty merge

5 years agoUpdated to version 2019.3 (2019c)
Derick Rethans [Wed, 2 Oct 2019 22:39:09 +0000 (23:39 +0100)]
Updated to version 2019.3 (2019c)

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Wed, 2 Oct 2019 17:03:04 +0000 (19:03 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Revert "Fix #78620: Out of memory error"

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Christoph M. Becker [Wed, 2 Oct 2019 17:02:12 +0000 (19:02 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Revert "Fix #78620: Out of memory error"

5 years agoRevert "Fix #78620: Out of memory error"
Christoph M. Becker [Wed, 2 Oct 2019 17:01:35 +0000 (19:01 +0200)]
Revert "Fix #78620: Out of memory error"

This reverts commit 8ce04df7e0108a10f7b782a28204e9384ab1129c.

Cf. <https://github.com/php/php-src/pull/4766#discussion_r330658679>.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Wed, 2 Oct 2019 16:21:24 +0000 (18:21 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #78620: Out of memory error

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Christoph M. Becker [Wed, 2 Oct 2019 16:19:53 +0000 (18:19 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Fix #78620: Out of memory error

5 years agoFix #78620: Out of memory error
Christoph M. Becker [Wed, 2 Oct 2019 14:42:28 +0000 (16:42 +0200)]
Fix #78620: Out of memory error

If the integer addition in `ZEND_MM_ALIGNED_SIZE_EX` overflows, the
macro evaluates to `0`, what we should catch early.

5 years agoFix AArch64 build
Nikita Popov [Wed, 2 Oct 2019 12:41:02 +0000 (14:41 +0200)]
Fix AArch64 build

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Wed, 2 Oct 2019 10:07:33 +0000 (12:07 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Wed, 2 Oct 2019 10:07:19 +0000 (12:07 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

5 years agoFix segfault with __COMPILER_HALT_OFFSET__ and trailing {}
Nikita Popov [Wed, 2 Oct 2019 10:06:00 +0000 (12:06 +0200)]
Fix segfault with __COMPILER_HALT_OFFSET__ and trailing {}

Fixes OSS-Fuzz #17895.

5 years agoAvoid file clash in root_check skipifs
Nikita Popov [Wed, 2 Oct 2019 09:33:52 +0000 (11:33 +0200)]
Avoid file clash in root_check skipifs

5 years agoAllow SA_RESTART for SIGALRM
Nikita Popov [Mon, 14 Jan 2019 12:04:37 +0000 (13:04 +0100)]
Allow SA_RESTART for SIGALRM

If no explicit restart_syscalls is passed, default to
restart_syscalls=0 for SIGALRM only, to reduce BC impact.

5 years agoFixed #75245 Don't set content of elements with only whitespaces
Erik Lundin [Tue, 13 Aug 2019 20:50:37 +0000 (22:50 +0200)]
Fixed #75245 Don't set content of elements with only whitespaces

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Dmitry Stogov [Tue, 1 Oct 2019 21:57:26 +0000 (00:57 +0300)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fixed test that "fails" from time to time

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Dmitry Stogov [Tue, 1 Oct 2019 21:57:16 +0000 (00:57 +0300)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Fixed test that "fails" from time to time

5 years agoFixed test that "fails" from time to time
Dmitry Stogov [Tue, 1 Oct 2019 21:54:59 +0000 (00:54 +0300)]
Fixed test that "fails" from time to time

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Dmitry Stogov [Tue, 1 Oct 2019 21:49:37 +0000 (00:49 +0300)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fixed test that "fails" from time to time

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Dmitry Stogov [Tue, 1 Oct 2019 21:49:27 +0000 (00:49 +0300)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Fixed test that "fails" from time to time

5 years agoFixed test that "fails" from time to time
Dmitry Stogov [Tue, 1 Oct 2019 21:48:42 +0000 (00:48 +0300)]
Fixed test that "fails" from time to time

5 years agoRemove func copy optimization for private method with static vars
Nikita Popov [Tue, 1 Oct 2019 10:58:26 +0000 (12:58 +0200)]
Remove func copy optimization for private method with static vars

Not NULLing the static_variables pointer for shadow methods during
static var shutdown would be a way to avoid this leak, but unless
there's evidence that inherited private methods with static vars are
actually a common use-case, I don't think we should keep this kind
of fragile edge-case optimization.

Fixes OSS-Fuzz #17875.

5 years agoFix AppVeyor build
Christoph M. Becker [Tue, 1 Oct 2019 09:51:07 +0000 (11:51 +0200)]
Fix AppVeyor build

`OPENSSL_CONF` must not contain quotes, but actually, we want to test
the default path, so we don't even set `OPENSLL_CONF` anymore.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Tue, 1 Oct 2019 09:17:23 +0000 (11:17 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Add missing skip keyword in tests

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Christoph M. Becker [Tue, 1 Oct 2019 09:15:12 +0000 (11:15 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Add missing skip keyword in tests

5 years agoAdd missing skip keyword in tests
Fabien Villepinte [Tue, 1 Oct 2019 08:59:40 +0000 (10:59 +0200)]
Add missing skip keyword in tests

5 years agoUpdate NEWS for 7.4.0RC4
Derick Rethans [Tue, 1 Oct 2019 08:31:43 +0000 (08:31 +0000)]
Update NEWS for 7.4.0RC4

5 years agoUpdate NEWS for PHP 7.4.0RC3
Derick Rethans [Tue, 1 Oct 2019 08:30:24 +0000 (08:30 +0000)]
Update NEWS for PHP 7.4.0RC3

5 years agoFix AppVeyor setup wrt. changed OpenSSL default config path
Christoph M. Becker [Tue, 1 Oct 2019 08:01:34 +0000 (10:01 +0200)]
Fix AppVeyor setup wrt. changed OpenSSL default config path

5 years agoUpdate regarding changed OpenSSL default config path
Christoph M. Becker [Tue, 1 Oct 2019 06:56:56 +0000 (08:56 +0200)]
Update regarding changed OpenSSL default config path

5 years agoFix borked SKIPIFs
Fabien Villepinte [Sat, 28 Sep 2019 19:29:54 +0000 (21:29 +0200)]
Fix borked SKIPIFs

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Mon, 30 Sep 2019 13:06:43 +0000 (15:06 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Mon, 30 Sep 2019 13:06:23 +0000 (15:06 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

5 years agoFixed bug #78612
Nikita Popov [Mon, 30 Sep 2019 13:05:35 +0000 (15:05 +0200)]
Fixed bug #78612

5 years agoSkip tests for old versions instead of marking them XFAIL
Christoph M. Becker [Mon, 30 Sep 2019 12:12:40 +0000 (14:12 +0200)]
Skip tests for old versions instead of marking them XFAIL

According to commit 0eea9a6[1], these tests fail with old Oniguruma
versions; we are not sure which version of Oniguruma is required to let
them pass, but at least 6.9.3 is sufficient.

[1] <http://git.php.net/?p=php-src.git;a=commit;h=0eea9a642941ab5d4c612f8092f186977afbb73e>

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Mon, 30 Sep 2019 11:05:51 +0000 (13:05 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix #78609: mb_check_encoding() no longer supports stringable objects

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Christoph M. Becker [Mon, 30 Sep 2019 11:04:24 +0000 (13:04 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Fix #78609: mb_check_encoding() no longer supports stringable objects

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Mon, 30 Sep 2019 10:54:18 +0000 (12:54 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

5 years agoFix #78413: php-fpm request_terminate_timeout does not take effect after fastcgi_fini...
Sergei Turchanov [Wed, 28 Aug 2019 04:37:52 +0000 (14:37 +1000)]
Fix #78413: php-fpm request_terminate_timeout does not take effect after fastcgi_finish_request

To retain legacy behavior I decided to add an option to control request
termination logic. If request_terminate_timeout_track_finished is set,
then request will be tracked for time limits even after
fastcgi_finish_request was called.

This patch depends on the fix provided in BUG 78469 (otherwise php-fpm
workers listening on named pipes on Windows will be erroneously terminated)
(PR #4636)

5 years agoFix #78609: mb_check_encoding() no longer supports stringable objects
Christoph M. Becker [Mon, 30 Sep 2019 09:07:03 +0000 (11:07 +0200)]
Fix #78609: mb_check_encoding() no longer supports stringable objects

We apply type juggling for other types than array.

5 years agoFixed bug #78604
Nikita Popov [Mon, 30 Sep 2019 08:41:14 +0000 (10:41 +0200)]
Fixed bug #78604

<?php followed by EOF is valid since PHP 7.4.

5 years agoAdd max_depth option to unserialize()
Nikita Popov [Tue, 24 Sep 2019 09:50:26 +0000 (11:50 +0200)]
Add max_depth option to unserialize()

Add a max_depth option to unserialize and an unserialize_max_depth
ini setting, which can be used to control the depth limit. The
default value is 4096.

This option is intended to prevent stack overflows during the
unserialization of deeply nested structures.

This fixes bug #78549 and addresses oss-fuzz #17581, #17589, #17664,
and #17788.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Sun, 29 Sep 2019 11:38:28 +0000 (13:38 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix build for libzip < 0.11.2

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Christoph M. Becker [Sun, 29 Sep 2019 11:34:16 +0000 (13:34 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Fix build for libzip < 0.11.2

5 years agoFix build for libzip < 0.11.2
Christoph M. Becker [Sun, 29 Sep 2019 11:31:22 +0000 (13:31 +0200)]
Fix build for libzip < 0.11.2

We must not define method entries, if the actual method definitions or
the arginfo structures are not defined.

5 years agoReduce memory used by token_get_all()
Tyson Andre [Sat, 28 Sep 2019 13:54:43 +0000 (09:54 -0400)]
Reduce memory used by token_get_all()

Around a quarter of all strings in array tokens would have a string that's one
character long (e.g. ` `, `\`, `1`)

For parsing a large number of php files,
The memory increase dropped from 378374248 to 369535688 (2.5%)

Closes GH-4753.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Sat, 28 Sep 2019 15:17:18 +0000 (17:17 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

5 years agoDon't throw warnings during heredoc scan-ahead
Nikita Popov [Sat, 28 Sep 2019 15:15:36 +0000 (17:15 +0200)]
Don't throw warnings during heredoc scan-ahead

Otherwise these warnings will turn up twice (or more...)

5 years agoFix wrong function name in SKIPIF
Fabien Villepinte [Fri, 27 Sep 2019 14:12:13 +0000 (16:12 +0200)]
Fix wrong function name in SKIPIF

5 years agoFix test regarding Reflection::export() deprecation
Christoph M. Becker [Fri, 27 Sep 2019 14:31:49 +0000 (16:31 +0200)]
Fix test regarding Reflection::export() deprecation

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Fri, 27 Sep 2019 14:04:35 +0000 (16:04 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix SKIPIF in ext/mysqli

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Christoph M. Becker [Fri, 27 Sep 2019 14:04:00 +0000 (16:04 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Fix SKIPIF in ext/mysqli

5 years agoFix SKIPIF in ext/mysqli
Fabien Villepinte [Fri, 27 Sep 2019 12:06:17 +0000 (14:06 +0200)]
Fix SKIPIF in ext/mysqli

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

* PHP-7.3:
  Fix skipif.inc

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Christoph M. Becker [Fri, 27 Sep 2019 10:51:21 +0000 (12:51 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Fix skipif.inc

5 years agoFix skipif.inc
Christoph M. Becker [Fri, 27 Sep 2019 10:50:04 +0000 (12:50 +0200)]
Fix skipif.inc

5 years agoXFAIL sapi/fpm/tests/log-bwd-multiple-msgs-stdout-stderr.phpt
Nikita Popov [Fri, 27 Sep 2019 09:18:50 +0000 (11:18 +0200)]
XFAIL sapi/fpm/tests/log-bwd-multiple-msgs-stdout-stderr.phpt

This is supposed to be addressed by GH-4007, but that seems stalled
for now.

5 years agoEnable ubsan stack trace printing on community job
Nikita Popov [Fri, 27 Sep 2019 09:16:22 +0000 (11:16 +0200)]
Enable ubsan stack trace printing on community job

Try to do this using "variables" -- apparently these get uppercased
and are made available as environment variables.

5 years agoFix file clash in rename_variation.phpt
Nikita Popov [Fri, 27 Sep 2019 09:10:42 +0000 (11:10 +0200)]
Fix file clash in rename_variation.phpt

rename_variation2.tmp is ... unsurprisingly ... already used by
rename_variation2.phpt. Alternatively it could be placed in the
directory that the test creates, but maybe this is intended to
test cross-directory renames, so I'll leave it.

5 years agoHandle resources used as array keys consistently
Nikita Popov [Fri, 27 Sep 2019 08:39:21 +0000 (10:39 +0200)]
Handle resources used as array keys consistently

Resources used as array keys are generally handled by throwing a
notice and converting the resource to the resource handle. The only
exception is the [$resource => null] syntax, where this was treated
as an illegal offset type instead. However, this also only happened
for VM evaluations, the AST evaluator did handle resources correctly.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Thu, 26 Sep 2019 11:47:41 +0000 (13:47 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Thu, 26 Sep 2019 11:47:19 +0000 (13:47 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

5 years agoFix memory leak with ** on array operands
Nikita Popov [Thu, 26 Sep 2019 11:45:45 +0000 (13:45 +0200)]
Fix memory leak with ** on array operands

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Thu, 26 Sep 2019 08:25:55 +0000 (10:25 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Thu, 26 Sep 2019 08:25:40 +0000 (10:25 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

5 years agoFix null-pointer deref in if stmt printing
Nikita Popov [Thu, 26 Sep 2019 08:24:49 +0000 (10:24 +0200)]
Fix null-pointer deref in if stmt printing

Fixes OSS-Fuzz #17721.

5 years agoFixed GOTO VM
Dmitry Stogov [Wed, 25 Sep 2019 22:17:54 +0000 (01:17 +0300)]
Fixed GOTO VM

5 years agoIncrease serialize_lock while decoding session
Nikita Popov [Wed, 25 Sep 2019 09:02:23 +0000 (11:02 +0200)]
Increase serialize_lock while decoding session

Avoid leaking state between Serializable::unserialize() and
session_decode().

5 years agoRemove xfail on bug70219.phpt
Nikita Popov [Wed, 25 Sep 2019 08:56:27 +0000 (10:56 +0200)]
Remove xfail on bug70219.phpt

Looks like this is working as it's supposed to, the test expectation
just needs to be adjusted.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Wed, 25 Sep 2019 08:34:33 +0000 (10:34 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Wed, 25 Sep 2019 08:34:25 +0000 (10:34 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

5 years agoFix hash key length in umsg_parse_format()
Jinesh Patel [Mon, 29 Jul 2019 18:19:52 +0000 (14:19 -0400)]
Fix hash key length in umsg_parse_format()

Fix array length passed to zend_hash_str_find_ptr() casting from
UChar array to char array requires mul by sizeof(UChar).

5 years agoFix GCOV not working for PHP-7.4 and master branches
Gerard Roche [Mon, 23 Sep 2019 16:09:00 +0000 (17:09 +0100)]
Fix GCOV not working for PHP-7.4 and master branches

Code coverage reports (`make lcov`), since commit eef8522 (7.4 branch),
generates incorrect coverage and emits warnings. Simplifying the
Makefile.gcov file has the side-effect of resolving the issue.

    Processing sapi/cli/php_http_parser.gcda
    php-src/lcov_data/sapi/cli/php_http_parser.gcda:stamp mismatch with notes file
    geninfo: WARNING: gcov did not create any files for php-src/lcov_data/sapi/cli/php_http_parser.gcda!
    ...
    Processing ext/mbstring/mb_gpc.gcda
    php-src/lcov_data/ext/mbstring/mb_gpc.gcda:stamp mismatch with notes file
    geninfo: WARNING: gcov did not create any files for php-src/lcov_data/ext/mbstring/mb_gpc.gcda!

Closes: https://bugs.php.net/bug.php?id=52718.
See also: https://bugs.php.net/bug.php?id=78288.

5 years agoUse nproc instead of hardcoded number
Gabriel Caruso [Sun, 15 Sep 2019 16:32:11 +0000 (18:32 +0200)]
Use nproc instead of hardcoded number

5 years agoFixed bug #78589
Nikita Popov [Mon, 23 Sep 2019 10:39:12 +0000 (12:39 +0200)]
Fixed bug #78589

Don't protect GC while destroying zvals. We may need to add GC
roots during this phase.