1
0
mirror of https://github.com/php/php-src.git synced 2026-04-27 01:48:26 +02:00
Commit Graph

49803 Commits

Author SHA1 Message Date
Jakub Zelenka 9be6b16983 Merge branch 'PHP-7.3' 2019-01-25 14:16:57 +00:00
Jakub Zelenka 0da13086bd Merge branch 'PHP-7.2' into PHP-7.3 2019-01-25 14:16:08 +00:00
Jakub Zelenka dc2ffdeed7 Fix bug #77390 (feof might hang on TLS streams in case of fragmented TLS records)
Simplified version of the fix from Abyl Valg so credit to him.
2019-01-25 14:13:11 +00:00
Jakub Zelenka d9b29029f9 Update and integrate openssl client proxy test 2019-01-25 14:09:55 +00:00
Abyr Valg 0c84c2ef50 Add a test for fragmented SSL packets 2019-01-25 14:09:55 +00:00
Nikita Popov 909d0a3d78 Fixed bug #77518 2019-01-25 11:12:34 +01:00
Dmitry Stogov 0ff71aead1 Fixed crash 2019-01-25 11:53:31 +03:00
Nikita Popov 24085b187a Remove unused prototype in mbstring
Reported by legale.
2019-01-24 16:11:35 +01:00
Andreas Treichel b1e9c73b27 Allow strip_tags with an array of allowed tagnames 2019-01-24 15:56:32 +01:00
Dmitry Stogov 4887896e21 Fixed crash 2019-01-24 18:00:45 +03:00
Nikita Popov 5e4c6dec12 Merge branch 'PHP-7.3' 2019-01-24 15:14:09 +01:00
Nikita Popov 3c98c2d0cb Fixed bug #77514 2019-01-24 15:13:49 +01:00
Dmitry Stogov ab9a9a6b20 Disallow PHP startup, in case some ext ext/standard sub-module is not initialized sucessfully. 2019-01-24 15:59:33 +03:00
Gabriel Caruso 04723f2101 Make more tests run os MacOS 2019-01-22 19:17:27 -02:00
Nikita Popov 89a4c172e2 Remove the "o" serialization format
We never generate the "o" format during serialization, so let's not
keep this unnecessary attack surface around.
2019-01-22 18:09:49 +01:00
Nikita Popov d3e5a2487f Merge branch 'PHP-7.3' 2019-01-22 12:28:44 +01:00
Nikita Popov 76760901fa Fixed bug #77287
There may be an EXT_NOP opcode before the parameter list, we should
skip over it.
2019-01-22 12:15:06 +01:00
Nikita Popov a50198d0fe Implement ??= operator
RFC: https://wiki.php.net/rfc/null_coalesce_equal_operator

$a ??= $b is $a ?? ($a = $b), with the difference that $a is only
evaluated once, to the degree that this is possible. In particular
in $a[foo()] ?? $b function foo() is only ever called once.
However, the variable access themselves will be reevaluated.
2019-01-22 11:12:04 +01:00
Nikita Popov 50ddff94b9 Make tokenizer test robust against token renumbering 2019-01-22 11:12:04 +01:00
Dmitry Stogov 8cb1ae92e6 Use SSA instead of bogus reverse linear scan. 2019-01-22 01:33:35 +03:00
Dmitry Stogov 6c983c6221 Use ZEND_FUNC_FREE_LOOP_VAR flag to avoid useless iterations. 2019-01-21 22:18:07 +03:00
Dmitry Stogov abd0651020 Avoid double live ranges recalculation. 2019-01-21 18:17:10 +03:00
Christoph M. Becker 3815a03117 Remove superfluous variable
This has been missed when libsqlite3 has been unbundled.
2019-01-21 15:32:34 +01:00
Dmitry Stogov 97ccafd4c6 Live ranges construction optimization 2019-01-21 17:25:24 +03:00
Christoph M. Becker 570d4311b6 Use pkg-config to detect and configure for system libgd
Formerly, a single option `--with-gd` was sufficient to enable the
extension, and to determine whether to use the system or the bundled
libgd depending on whether a directory was passed.  Since pkg-config
determines the path automatically, we now offer `--enable-gd` (whether
the extension should be build) and `--with-external-gd` (whether to use
the system libgd).
2019-01-21 14:01:34 +01:00
Nikita Popov 3269e88468 Implement single-pass live range calculation
Instead of interleaving creation of live-ranges with the main
compiler code, compute them in a separate pass over the opcodes
as part of pass_two. Additionally, do not keep live ranges
synchronized during optimization in opcache and instead use the
same mechanism to recompute them after optimization.
2019-01-21 11:47:27 +01:00
Anatol Belski 1bd7a9d6d1 Merge branch 'PHP-7.3'
* PHP-7.3:
  Skip test on unsuitable build
2019-01-19 13:56:51 +01:00
Anatol Belski 52730fa30a Skip test on unsuitable build
This test reveals a difference between TS and NTS through all the
versions, which is probably too late to fix at this stage of 7.3.
While NTS always relies on the system getcwd(), TS uses a fake CWD
which might get out of sync when the real dir is deleted. Thus,
skip test on unsuitable build. Investigate possibilities to fix this
edge case for later versions.
2019-01-19 13:53:32 +01:00
Christoph M. Becker 089f7c0bc2 Sync with upstream
Even though libgd/libgd#492 is not a relevant bug fix for PHP, since
the binding doesn't use the `gdImage*Ptr()` functions at all, we're
porting the fix to stay in sync here.
2019-01-19 11:30:12 +01:00
Christoph M. Becker 6aff4d01c7 Merge branch 'PHP-7.3'
* PHP-7.3:
  Fix failing test
2019-01-19 11:21:07 +01:00
Christoph M. Becker 2966da70cf Fix failing test 2019-01-19 11:13:13 +01:00
Christoph M. Becker 387c45a9bb Merge branch 'PHP-7.3'
* PHP-7.3:
  Fix #77479: imagewbmp() segfaults with very large images
2019-01-19 10:18:55 +01:00
Christoph M. Becker 1907cbd8b3 Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Fix #77479: imagewbmp() segfaults with very large images
2019-01-19 10:18:20 +01:00
Christoph M. Becker 44fa0b0f31 Fix #77479: imagewbmp() segfaults with very large images
We must not proceed working with the Wbmp structure, if it hasn't been
allocated.
2019-01-19 10:16:02 +01:00
Anatol Belski 52057c3aa2 Merge branch 'PHP-7.3'
* PHP-7.3:
  Make test output more reliable
2019-01-19 03:34:36 +01:00
Anatol Belski 4254bf87ba Make test output more reliable 2019-01-19 03:33:37 +01:00
Anatol Belski 1f4a04fb3f Merge branch 'PHP-7.3'
* PHP-7.3:
  Fixed bug #77484 Zend engine crashes when calling realpath in invalid working dir
2019-01-19 02:39:42 +01:00
Anatol Belski 8b20e7b68b Fixed bug #77484 Zend engine crashes when calling realpath in invalid working dir 2019-01-19 02:36:51 +01:00
Nikita Popov 1bc86bcdd8 Merge branch 'PHP-7.3' 2019-01-18 15:03:00 +01:00
Nikita Popov 986b9b5ae3 Add additional no_sanitize_address attributes
To fix bug #77447 in release mode as well.
2019-01-18 15:02:30 +01:00
Nikita Popov 345936aeb1 Merge branch 'PHP-7.3' 2019-01-18 12:49:08 +01:00
Nikita Popov 14b5302591 Merge branch 'PHP-7.2' into PHP-7.3 2019-01-18 12:48:52 +01:00
Lauri Kenttä dbe7f2a41a Fix seeking in php://input 2019-01-18 12:44:47 +01:00
Nikita Popov 6beecbb0aa Merge branch 'PHP-7.3' 2019-01-18 12:06:42 +01:00
Nikita Popov de38ce1a2e Merge branch 'PHP-7.2' into PHP-7.3 2019-01-18 12:05:11 +01:00
Pedro Magalhães 32ae716037 Fixed bug #76675
Leave a reference to the resource in the php_curl.
2019-01-18 12:04:25 +01:00
Dmitry Stogov e6182bd4ea Improved ZEND_TRY_ASSIGN... API to avoid unnecessary double copying and reduce code bloat. 2019-01-18 00:53:48 +03:00
Christoph M. Becker 6d11d8d3ed Merge branch 'PHP-7.3'
* PHP-7.3:
  Fix #73614: gdImageFilledArc() doesn't properly draw pies
2019-01-16 20:23:17 +01:00
Christoph M. Becker 26b5aa8584 Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Fix #73614: gdImageFilledArc() doesn't properly draw pies
2019-01-16 20:22:37 +01:00
Christoph M. Becker 61cfa34e11 Fix #73614: gdImageFilledArc() doesn't properly draw pies
The fix for PHP bug 43828[1] changed the algorithm from drawing filled
pies from drawing multiple triangles to drawing a single polygon.  Due
to quirks of the filled polygon drawing algorithm, we had to filter out
extraneous vertices.  This lead, however, to a bug regarding displaced
starting and ending points near 90° and 270° degrees, which we fix by
reinserting these vertices if they had been removed.

This fix is a port of libgd/libgd@1406b1a.

[1] <https://bugs.php.net/bug.php?id=43828>
2019-01-16 20:10:04 +01:00