summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Update NEWS for PHP 7.4.13PHP-7.4.13Derick Rethans2020-11-241-1/+1
|
* Prepare for 7.4.13Derick Rethans2020-11-241-1/+1
|
* Update NEWS for PHP 7.4.13RC1Derick Rethans2020-11-101-1/+1
|
* Add integration test for symfony preloadingNikita Popov2020-11-101-0/+9
| | | | | | To help catch regressions like the one that occurred in PHP 7.4.12. Closes GH-6414.
* Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-11-100-0/+0
|\ | | | | | | | | * PHP-7.3: 7.3.26 is next
| * 7.3.26 is nextChristoph M. Becker2020-11-104-6/+9
| |
* | Fix phi use chain management when renaming variableNikita Popov2020-11-093-8/+35
| | | | | | | | | | | | | | If there is a previous use of the new variable in the phi, we need to NULL out the use chain of the new source we're adding. Test case is reduced from an assertion failure in the Symfony Demo.
* | Merge branch 'PHP-7.3' into PHP-7.4Nikita Popov2020-11-091-0/+2
|\ \ | |/ | | | | | | * PHP-7.3: Fixed bug #80310: Support for icu4c 68.1.
| * Fixed bug #80310: Support for icu4c 68.1.Alexander M. Turek2020-11-092-0/+6
| | | | | | | | | | | | | | On stable versions, bring back the TRUE/FALSE defines by defining _U_DEFINE_TRUE_AND_FALSE. Closes GH-6397.
* | Update version in 7.4 branchDerick Rethans2020-11-072-4/+4
| |
* | Split tests for compatibility with ICU 68.1Christoph M. Becker2020-11-068-4/+701
| |
* | Backport preloading trait fixup fixesNikita Popov2020-11-053-19/+69
| | | | | | | | | | | | | | | | | | This cherry-picks 33969c2252b2c33a72c9039072af8862fd347a5f and 2effbfd8713936742ef46e6e85ce193b320ac005 from PHP-8.0. The issues these commits fix could also manifest in PHP 7.4, and a commenter on bug #80307 reports this this might indeed be happening.
* | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-11-046-8/+26
|\ \ | |/ | | | | | | * PHP-7.3: Fix #80266: parse_url silently drops port number 0
| * Fix #80266: parse_url silently drops port number 0Christoph M. Becker2020-11-046-8/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As of commit 81b2f3e[1], `parse_url()` accepts URLs with a zero port, but does not report that port, what is wrong in hindsight. Since the port number is stored as `unsigned short` there is no way to distinguish between port zero and no port. For BC reasons, we thus introduce `parse_url_ex2()` which accepts an output parameter that allows that distinction, and use the new function to fix the behavior. The introduction of `parse_url_ex2()` has been suggested by Nikita. [1] <http://git.php.net/?p=php-src.git;a=commit;h=81b2f3e5d9fcdffd87a4fcd12bd8c708a97091e1> Closes GH-6399.
* | Fix dynamic function definition in preload scriptNikita Popov2020-11-043-1/+24
| | | | | | | | | | | | | | | | We should use normal function renaming if the function is declared during preloading itself, rather than afterwards. This fixes a regression introduced by 68f80be9d1380de731930187250a7ed6b55ae196.
* | Merge branch 'PHP-7.3' into PHP-7.4Nikita Popov2020-11-031-5/+1
|\ \ | |/ | | | | | | * PHP-7.3: Fix another implicit function declaration in configure
| * Fix another implicit function declaration in configureNikita Popov2020-11-031-5/+1
| | | | | | | | | | As mentioned on bug #80171. This one is in libtool.m4, might get lost on libtool updates.
* | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-11-022-1/+8
|\ \ | |/ | | | | | | * PHP-7.3: Fix #70461: disable md5 code when it is not supported in net-snmp
| * Fix #70461: disable md5 code when it is not supported in net-snmpChristoph M. Becker2020-11-022-1/+8
| | | | | | | | | | | | Patch contributed by Alexander Bergmann. Closes GH-6389.
* | Fix SSA integrity violation for type inference in dead codeNikita Popov2020-10-302-15/+37
| | | | | | | | | | | | The foreach body can never be executed and thus may contain empty types. We should still uphold our SSA integrity invariants in that case.
* | Fix bug79177.phpt wrt. JITChristoph M. Becker2020-10-303-30/+42
| | | | | | | | | | | | | | | | | | | | JIT ignores that the `zend_write` callback is overwritten, so we define our own callback and caller. We also fix the "inconsistent DLL binding" warnings on Windows, by introducing `PHP_ZEND_TEST_API`. Closes GH-6391.
* | Fix bug #72413: Segfault with get_result and PS cursorsDharman2020-10-293-23/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We cannot simply switch to use_result here, because the fetch_row methods in get_result mode and in use_result/store_result mode are different: In one case it accepts a statement, in the other a return value zval. Thus, doing a switch to use_result results in a segfault when trying to fetch a row. Actually supporting get_result with cursors would require adding cursor support in mysqlnd_result, not just mysqlnd_ps. That would be a significant amount of effort and, given the age of the issue, does not appear to be particularly likely to happen soon. As such, we simply generate an error when using get_result() with cursors, which is much better than causing a segfault. Instead, parameter binding needs to be used.
* | Handle errors during PDO row fetchNikita Popov2020-10-291-5/+1
| | | | | | | | | | | | | | | | | | The EOF flag also gets set on error, so we always end up ignoring errors here. However, we should only check errors for unbuffered results. For buffered results, this function is guaranteed not to error, and querying the errno may return an unrelated error.
* | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-10-291-1/+1
|\ \ | |/ | | | | | | * PHP-7.3: Fix format specifier
| * Fix format specifierChristoph M. Becker2020-10-291-1/+1
| | | | | | | | In this function, `i` is of type `size_t`.
* | Report gone away error in one more placeNikita Popov2020-10-291-0/+2
| |
* | [ci skip] Fix NEWS orderChristoph M. Becker2020-10-291-6/+6
| |
* | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-10-293-4/+87
|\ \ | |/ | | | | | | * PHP-7.3: Fix #44618: Fetching may rely on uninitialized data
| * Fix #44618: Fetching may rely on uninitialized dataChristoph M. Becker2020-10-293-4/+87
| | | | | | | | | | | | | | | | | | Unless `SQLGetData()` returns `SQL_SUCCESS` or `SQL_SUCCESS_WITH_INFO`, the `StrLen_or_IndPtr` output argument is not guaranteed to be properly set. Thus we handle retrieval failure other than `SQL_ERROR` by yielding `false` for those column values and raising a warning. Closes GH-6281.
* | Retain QUIT_SEND connection stateNikita Popov2020-10-293-4/+13
| | | | | | | | | | | | If the server goes away while reading a packet, don't go back into the READY state. This will just cause broken pipe errors down the line.
* | Fixed bug #65825Nikita Popov2020-10-282-4/+15
| | | | | | | | | | | | | | | | | | | | | | Set error_info when we fail to read a packet, instead of throwing a warning. Additionally we also need to populate the right error_info in rowp_read -- we'll later take the error from the packet, not the connection. No test case, as this is hard to reliably test. I'm using the test case from: https://github.com/php/php-src/pull/2131#issuecomment-538374838
* | Fix #79177: FFI doesn't handle well PHP exceptions within callbackChristoph M. Becker2020-10-283-0/+55
| | | | | | | | | | | | | | | | | | | | | | We have to error on unhandled exceptions in FFI callbacks, to avoid passing back undefined values. This has been discussed and agreed upon in a previous PR[1]. [1] <https://github.com/php/php-src/pull/5120> Closes GH-6366.
* | Fixed bug #66528Nikita Popov2020-10-284-7/+76
| | | | | | | | Report errors in commit, rollback and autocommit handlers.
* | Fixed run-time binding of preloaded dynamically declared functionDmitry Stogov2020-10-282-1/+6
| |
* | Handle mysqli errors in more casesDharman2020-10-283-0/+46
| | | | | | | | | | | | | | | | | | Report errors autocommit, commit, rollback and mysqli_stmt_attr_set. Additionally, copy the error from conn to stmt when preparing fails, so these errors are also handled by mysqli_stmt_prepare. Closes GH-6157.
* | Sync test with masterNikita Popov2020-10-281-258/+258
| | | | | | | | | | Sync ext/mysqli/tests/mysqli_report.phpt with PHP-8.0/master, as the current difference in indentation makes it hard to merge.
* | Fix bug #79375Dharman2020-10-288-7/+309
| | | | | | | | | | | | | | | | Make sure deadlock errors are properly propagated and reports in a number of places in mysqli and PDO MySQL. This also fixes a memory and a segfault that can occur under these conditions.
* | Merge branch 'PHP-7.3' into PHP-7.4Nikita Popov2020-10-262-0/+28
|\ \ | |/ | | | | | | * PHP-7.3: Deny cloning of fileinfo objects
| * Deny cloning of fileinfo objectsNikita Popov2020-10-262-0/+28
| | | | | | | | Using a cloned finfo object will crash.
* | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-10-260-0/+0
|\ \ | |/ | | | | | | * PHP-7.3: Revert "Fix out-of-bounds write"
| * Revert "Fix out-of-bounds write"Christoph M. Becker2020-10-261-1/+1
| | | | | | | | | | | | | | | | | | | | This reverts commit bf6873a18e3b6b00f82a645c0893a281ae8eadb8. CVE-2020-26159 is bogus; the "bug" was apparently a false positive reported by Coverity, and the "fix" apparently wrong, see <https://github.com/kkos/oniguruma/issues/221>. Closes GH-6357.
* | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-10-263-1/+27
|\ \ | |/ | | | | | | * PHP-7.3: Fix #80268: loadHTML() truncates at NUL bytes
| * Fix #80268: loadHTML() truncates at NUL bytesChristoph M. Becker2020-10-263-1/+27
| | | | | | | | | | | | | | | | | | | | | | | | libxml2 has no particular issues parsing HTML strings with NUL bytes; these just cause truncation of the current text content, but parsing continues generally. Since `::loadHTMLFile()` already supports NUL bytes, `::loadHTML()` should as well. Note that this is different from XML, which does not allow any NUL bytes. Closes GH-6368.
* | Merge branch 'PHP-7.3' into PHP-7.4Nikita Popov2020-10-261-1/+2
|\ \ | |/ | | | | | | * PHP-7.3: Declare may_retry_reparse_point on windows only
| * Declare may_retry_reparse_point on windows onlyNikita Popov2020-10-261-1/+2
| |
* | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-10-263-20/+41
|\ \ | |/ | | | | | | * PHP-7.3: Fix #62474: com_event_sink crashes on certain arguments
| * Fix #62474: com_event_sink crashes on certain argumentsChristoph M. Becker2020-10-263-20/+41
| | | | | | | | | | | | | | We have to make sure that the variant is of type `VT_DISPATCH` before we access it as such. Closes GH-6372.
* | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-10-262-2/+6
|\ \ | |/ | | | | | | * PHP-7.3: Fix #80258: Windows Deduplication Enabled, randon permission errors
| * Fix #80258: Windows Deduplication Enabled, randon permission errorsChristoph M. Becker2020-10-262-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A recent bug fix regarding symlinks claimed: > After resolving reparse points, the path still may be a reparse > point; in that case we have to resolve that reparse point as well. While that is basically correct, some reparse points may point to inaccessible system folders (e.g. `IO_REPARSE_TAG_DEDUP` points to "\System Volume Information"). Since we don't know details about arbitrary reparse points, and are mainly interested in nested symlinks, we take a step back, and only resolve `IO_REPARSE_TAG_SYMLINK` for now. Close GH-6354.
* | Merge branch 'PHP-7.3' into PHP-7.4Christoph M. Becker2020-10-263-0/+6
|\ \ | |/ | | | | | | * PHP-7.3: Fix #80280: ADD_EXTENSION_DEP() fails for ext/standard and ext/date