| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
| |
To help catch regressions like the one that occurred in PHP 7.4.12.
Closes GH-6414.
|
|\
| |
| |
| |
| | |
* PHP-7.3:
7.3.26 is next
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| |/
| |
| |
| | |
* PHP-7.3:
Fixed bug #80310: Support for icu4c 68.1.
|
| |
| |
| |
| |
| |
| |
| | |
On stable versions, bring back the TRUE/FALSE defines by defining
_U_DEFINE_TRUE_AND_FALSE.
Closes GH-6397.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| |/
| |
| |
| | |
* PHP-7.3:
Fix #80266: parse_url silently drops port number 0
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| | |
We should use normal function renaming if the function is declared
during preloading itself, rather than afterwards.
This fixes a regression introduced by
68f80be9d1380de731930187250a7ed6b55ae196.
|
|\ \
| |/
| |
| |
| | |
* PHP-7.3:
Fix another implicit function declaration in configure
|
| |
| |
| |
| |
| | |
As mentioned on bug #80171. This one is in libtool.m4, might get
lost on libtool updates.
|
|\ \
| |/
| |
| |
| | |
* PHP-7.3:
Fix #70461: disable md5 code when it is not supported in net-snmp
|
| |
| |
| |
| |
| |
| | |
Patch contributed by Alexander Bergmann.
Closes GH-6389.
|
| |
| |
| |
| |
| |
| | |
The foreach body can never be executed and thus may contain empty
types. We should still uphold our SSA integrity invariants in that
case.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| |/
| |
| |
| | |
* PHP-7.3:
Fix format specifier
|
| |
| |
| |
| | |
In this function, `i` is of type `size_t`.
|
| | |
|
| | |
|
|\ \
| |/
| |
| |
| | |
* PHP-7.3:
Fix #44618: Fetching may rely on uninitialized data
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
Report errors in commit, rollback and autocommit handlers.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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 ext/mysqli/tests/mysqli_report.phpt with PHP-8.0/master, as
the current difference in indentation makes it hard to merge.
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| |/
| |
| |
| | |
* PHP-7.3:
Deny cloning of fileinfo objects
|
| |
| |
| |
| | |
Using a cloned finfo object will crash.
|
|\ \
| |/
| |
| |
| | |
* PHP-7.3:
Revert "Fix out-of-bounds write"
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| |/
| |
| |
| | |
* PHP-7.3:
Fix #80268: loadHTML() truncates at NUL bytes
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| |/
| |
| |
| | |
* PHP-7.3:
Declare may_retry_reparse_point on windows only
|
| | |
|
|\ \
| |/
| |
| |
| | |
* PHP-7.3:
Fix #62474: com_event_sink crashes on certain arguments
|
| |
| |
| |
| |
| |
| |
| | |
We have to make sure that the variant is of type `VT_DISPATCH` before
we access it as such.
Closes GH-6372.
|
|\ \
| |/
| |
| |
| | |
* PHP-7.3:
Fix #80258: Windows Deduplication Enabled, randon permission errors
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| |/
| |
| |
| | |
* PHP-7.3:
Fix #80280: ADD_EXTENSION_DEP() fails for ext/standard and ext/date
|