summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | Merge branch 'PHP-8.0'Nikita Popov2021-02-182-2/+12
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-8.0: Avoid signed integer overflow in substr()
| * | | Avoid signed integer overflow in substr()Nikita Popov2021-02-182-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Perform negation after the (size_t) cast rather than before, so as to avoid a signed integer overflow for PHP_INT_MIN. Fixes oss-fuzz #31069.
* | | | Don't use unmangled name if property not foundNikita Popov2021-02-182-8/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This restores the previous behavior for this case. We'll continue to use the mangled name, even if it does not correspond to a declared property. This also fixes an assertion failure for the case of property overwrite, as the add_new was not guaranteed to be "new" previously. Fixes oss-fuzz #31045.
* | | | Merge branch 'PHP-8.0'Christoph M. Becker2021-02-172-0/+20
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-8.0: Fix #80763: msgfmt_format() does not accept DateTime references
| * | | Merge branch 'PHP-7.4' into PHP-8.0Christoph M. Becker2021-02-173-1/+27
| |\ \ \ | | |/ / | | | | | | | | | | | | * PHP-7.4: Fix #80763: msgfmt_format() does not accept DateTime references
| | * | Fix #80763: msgfmt_format() does not accept DateTime referencesChristoph M. Becker2021-02-173-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | `intl_zval_to_millis()` needs to cater to references. Closes GH-6707.
* | | | Avoid writing zend_vm_opcodes.h if it did not changeNikita Popov2021-02-171-54/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that we track header changes, a change to zend_vm_opcodes.h requires rebuilding essentially the whole tree. In most cases, changes to zend_vm_def.h don't actually result in any header changes though. Avoid touching the file by first checking whether the to be written contents are actually the same.
* | | | Coding style tweaks for zend_vm_gen.phpAlex Erohin2021-02-171-31/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - fixed array style for $vm_kind_name and $op_types - deleted unnecessary else statement for is_hot_helper function - fixed concatenation style - fixed style of using whitespace between "(" and switch/foreach - replaced !is_null with "!==" Closes GH-6704.
* | | | Merge branch 'PHP-8.0'Nikita Popov2021-02-171-0/+1
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-8.0: Color LEAK&FAIL like a failure
| * | | Color LEAK&FAIL like a failureNikita Popov2021-02-171-0/+1
| | | |
* | | | Merge branch 'PHP-8.0'Sara Golemon2021-02-170-0/+0
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-8.0: Prep for 8.0.4
| * | | Prep for 8.0.4Sara Golemon2021-02-172-4/+4
| | | |
* | | | unserialize() optimization. Omit class name validation before hash lookup, ↵Dmitry Stogov2021-02-171-14/+40
| | | | | | | | | | | | | | | | and perform it only before autoloading.
* | | | Merge branch 'PHP-8.0'Dmitry Stogov2021-02-173-12/+100
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-8.0: Fixed bug #80745 (JIT produces Assert failure and UNKNOWN:0 var_dumps in code involving bitshifts)
| * | | Fixed bug #80745 (JIT produces Assert failure and UNKNOWN:0 var_dumps in ↵Dmitry Stogov2021-02-174-12/+102
| | | | | | | | | | | | | | | | code involving bitshifts)
* | | | Merge branch 'PHP-8.0'Nikita Popov2021-02-171-1/+1
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-8.0: Remove generated zend_jit_x86.c on `make clean`
| * | | Remove generated zend_jit_x86.c on `make clean`Dylan T2021-02-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not removing this causes build failure when reconfiguring and rebuilding after a `make clean`, e.g. enabling/disabling ZTS. This makes https://bugs.php.net/bug.php?id=80561 more bearable. Ideally it would be rebuilt automatically on configuration change if necessary, but I have no idea how to implement this. Closes GH-6702.
* | | | Merge branch 'PHP-8.0'Dmitry Stogov2021-02-162-3/+101
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-8.0: Fixed bug #80742 (Opcache JIT makes some boolean logic unexpectedly be true)
| * | | Fixed bug #80742 (Opcache JIT makes some boolean logic unexpectedly be true)Dmitry Stogov2021-02-163-3/+103
| | | |
* | | | Add support for generating properties with union type of multiple classesMáté Kocsis2021-02-165-28/+40
| | | | | | | | | | | | | | | | Closes GH-6701
* | | | Merge branch 'PHP-8.0'Nikita Popov2021-02-161-2/+3
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-8.0: Handle incomplete result set metadata more gracefully
| * | | Merge branch 'PHP-7.4' into PHP-8.0Nikita Popov2021-02-162-2/+5
| |\ \ \ | | |/ / | | | | | | | | | | | | * PHP-7.4: Handle incomplete result set metadata more gracefully
| | * | Handle incomplete result set metadata more gracefullyNikita Popov2021-02-162-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than segfaulting because sname is missing lateron, report a FAIL here. As this indicates a server bug, the errors is reported as an out of band warning, rather than a client error. This fixes the PHP side of bug #80713.
* | | | Generate class entries from stubs for ldap, libxml, mbstring and mysqliMáté Kocsis2021-02-1611-85/+471
| | | | | | | | | | | | | | | | Closes GH-6684
* | | | Fix unused variable warningNikita Popov2021-02-162-10/+10
| | | |
* | | | Merge branch 'PHP-8.0'Nikita Popov2021-02-1613-0/+17
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-8.0: Mark resource-like objects as non-comparable
| * | | Mark resource-like objects as non-comparableNikita Popov2021-02-1613-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | As these hold on to some internal resource, there can't be two "equal" objects with different identity. Make sure the lack of public properties doesn't result in these being treated as always equal.
* | | | Improved unserialize() performance. Checks for object propery "visibility ↵Dmitry Stogov2021-02-161-104/+178
| | | | | | | | | | | | | | | | change" were moved, to be performed only if name/visibility had been really changed.
* | | | Improve class entry generationMáté Kocsis2021-02-1685-253/+177
| | | | | | | | | | | | | | | | Related to GH-6701
* | | | Merge branch 'PHP-8.0'Nikita Popov2021-02-164-0/+31
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-8.0: Fixed bug #80723
| * | | Fixed bug #80723Nikita Popov2021-02-165-0/+35
| | | | | | | | | | | | | | | | | | | | This fixes the issue just for the Socket class. Presumably we'll want to do the same for other "resource" objects.
* | | | Merge branch 'PHP-8.0'Derick Rethans2021-02-160-0/+0
|\ \ \ \ | |/ / /
| * | | Merge branch 'PHP-7.4' into PHP-8.0Derick Rethans2021-02-160-0/+0
| |\ \ \ | | |/ /
| | * | Fixed datesDerick Rethans2021-02-161-2/+2
| | | |
* | | | Merge branch 'PHP-8.0'Derick Rethans2021-02-160-0/+0
|\ \ \ \ | |/ / /
| * | | Merge branch 'PHP-7.4' into PHP-8.0Derick Rethans2021-02-160-0/+0
| |\ \ \ | | |/ /
| | * | PHP-7.4 is now 7.4.17-devDerick Rethans2021-02-162-2/+5
| | | |
* | | | Microoptimization of STRLEN and IN_ARRAY opcodes (based on ↵Dmitry Stogov2021-02-162-47/+235
| | | | | | | | | | | | | | | | https://github.com/php/php-src/pull/4981)
* | | | Fix quadratic slowdown under asan in timelibNikita Popov2021-02-161-24/+35
| | | | | | | | | | | | | | | | | | | | This is a hotfix for https://github.com/derickr/timelib/pull/94 until the issue is resolved upstream.
* | | | Add dependency tracking for header filesFlorian Sowade2021-02-163-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This ensures all .c files which include a header file directly or indirectly are rebuilt whenever the header file is changed. Closes GH-6693.
* | | | cURL: make possible to send file from buffer stringAlexander Moskalev2021-02-169-1/+271
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add CURLStringFile class which works similarly to CURLFile, but uploads a file from a string rather than a file. This avoids the need to create a temporary file, or use of a data:// stream. Basic usage: $file = new CURLStringFile($data, 'filename.txt', 'text/plain'); curl_setopt($curl, CURLOPT_POSTFIELDS, ['file' => $file]); Closes GH-6456.
* | | | Merge branch 'PHP-8.0'Nikita Popov2021-02-161-1/+1
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-8.0: Increase timeout on asan job
| * | | Increase timeout on asan jobNikita Popov2021-02-161-1/+1
| | | | | | | | | | | | | | | | | | | | Regularly runs against the 5:10 hour limit on master. Increase it to 6:00 hours.
* | | | Merge branch 'PHP-8.0'Nikita Popov2021-02-162-27/+29
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-8.0: Suppress OpenSSL error on missing optional config
| * | | Merge branch 'PHP-7.4' into PHP-8.0Nikita Popov2021-02-162-27/+29
| |\ \ \ | | |/ / | | | | | | | | | | | | * PHP-7.4: Suppress OpenSSL error on missing optional config
| | * | Suppress OpenSSL error on missing optional configNikita Popov2021-02-162-27/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | openssl_pkey_new() fetches various options from the config file -- most of these are optional, and not specifying them is not an error condition from the perspective of the user. Unfortunately, the CONF_get_string() API pushes an error when accessing a key that doesn't exist (_CONF_get_string does not, but that is presumably a private API). This commit adds a helper php_openssl_conf_get_string() that automatically clears the error in this case. I've found that OpenSSL occasionally does the same thing internally: https://github.com/openssl/openssl/blob/22040fb790c854cefb04bed98ed38ea6357daf83/apps/req.c#L515-L517 Closes GH-6699.
* | | | Delref only after successful allocationNikita Popov2021-02-162-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise we may have inconsistent refcounts after OOM. I expect this problem is much more prevalent, but this at least fixes some string/array separation cases. Fixes oss-fuzz #30999.
* | | | Merge branch 'PHP-8.0'Christoph M. Becker2021-02-161-1/+1
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-8.0: Adapt test case for libcurl 7.75.0+
| * | | Adapt test case for libcurl 7.75.0+Christoph M. Becker2021-02-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | libcurl 7.75.0 finally adds support for `gophers://`, i.e. gopher over TLS. The protocol is neither standardized, nor is the protocol registered with IANA, but well, it is there and the test case should cater to that.
* | | | Merge branch 'PHP-8.0'Nikita Popov2021-02-152-0/+21
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-8.0: Fixed bug #80747