#
f133f002 |
| 21-Feb-2020 |
Christoph M. Becker |
Fix #79294: ::columnType() may fail after SQLite3Stmt::reset() The fix for feature request #53466 did not properly handle resetting of the corresponding statement; the problem with this
Fix #79294: ::columnType() may fail after SQLite3Stmt::reset() The fix for feature request #53466 did not properly handle resetting of the corresponding statement; the problem with this is that the statement does not know about its result sets. But even if we could fix this, the `complete` handling still appears to be brittle, since the `sqlite3_column_type()`docs[1] state: | If the SQL statement does not currently point to a valid row, or if | the column index is out of range, the result is undefined. Fortunately, we can use `sqlite3_data_count()` instead, since[2]: | If prepared statement P does not have results ready to return (via | calls to the sqlite3_column() family of interfaces) then | sqlite3_data_count(P) returns 0. Thus, we guard `SQLite3::columnType()` with `sqlite3_data_count()`, and completely drop updating the `php_sqlite3_result_object.complete` field, but keep it for ABI BC purposes. [1] <https://www.sqlite.org/c3ref/column_blob.html> [2] <https://www.sqlite.org/c3ref/data_count.html>
show more ...
|
#
1b2e6cb3 |
| 20-Feb-2020 |
Christoph M. Becker |
Merge branch 'PHP-7.3' into PHP-7.4 * PHP-7.3: Fix NEWS [ci skip]
|
#
ab5b6702 |
| 20-Feb-2020 |
Christoph M. Becker |
Fix NEWS [ci skip] Cosmetics. |
#
f6fcc5c3 |
| 18-Feb-2020 |
Christoph M. Becker |
Merge branch 'PHP-7.3' into PHP-7.4 * PHP-7.3: Remove extra tab in NEWS [ci skip]
|
#
31dd4556 |
| 18-Feb-2020 |
Christoph M. Becker |
Remove extra tab in NEWS [ci skip] |
#
63f6608f |
| 18-Feb-2020 |
Remi Collet |
bump version to 7.2.29 |
#
9ca449e0 |
| 21-Jan-2020 |
Christoph M. Becker |
Make quoting of cmd execution functions consistent While the `$command` passed to `proc_open()` had to be wrapped in double-quotes manually, that was implicitly done for all other pr
Make quoting of cmd execution functions consistent While the `$command` passed to `proc_open()` had to be wrapped in double-quotes manually, that was implicitly done for all other program execution functions. This could easily introduce bugs and even security issues when switching from one to another program execution function. Furthermore we ensure that the additional quotes are always unwrapped regardless of what is passed as `$command` by passing the `/s` flag to cmd.exe. As it was, `shell_exec('path with spaces/program.exe')` did execute program.exe, but adding an argument (`shell_exec('path with spaces/program.exe -h)`) failed to execute program.exe, because cmd.exe stripped the additional quotes. While these changes obviously can cause BC breaks, we feel that in the long run the benefits of having consistent behavior for all program execution functions outweighs the drawbacks of potentially breaking some code now.
show more ...
|
#
3090c88f |
| 17-Feb-2020 |
Christoph M. Becker |
Merge branch 'PHP-7.3' into PHP-7.4 * PHP-7.3: Fix #79038: PDOStatement::nextRowset() leaks column values
|
#
08073b06 |
| 27-Dec-2019 |
Christoph M. Becker |
Fix #79038: PDOStatement::nextRowset() leaks column values Firstly, we must not rely on `stmt->column_count` when freeing the driver specific column values, but rather store the column c
Fix #79038: PDOStatement::nextRowset() leaks column values Firstly, we must not rely on `stmt->column_count` when freeing the driver specific column values, but rather store the column count in the driver data. Since the column count is a `short`, 16 bit are sufficient, so we can store it in reserved bits of `pdo_odbc_stmt`. Furthermore, we must not allocate new column value storage when the statement is not executed, but rather when the column value storage has not been allocated. Finally, we have to introduce a driver specific `cursor_closer` to avoid that `::closeCursor()` calls `odbc_stmt_next_rowset()` which then frees the column value storage, because it may be still needed for bound columns.
show more ...
|
#
8db8d66d |
| 17-Feb-2020 |
Christoph M. Becker |
Merge branch 'PHP-7.3' into PHP-7.4 * PHP-7.3: Fix NEWS [ci skip]
|
#
16c7c716 |
| 17-Feb-2020 |
Christoph M. Becker |
Fix NEWS [ci skip] |
#
583e7bad |
| 17-Feb-2020 |
Christoph M. Becker |
Merge branch 'PHP-7.3' into PHP-7.4 * PHP-7.3: Update NEWS [ci skip]
|
#
788065fb |
| 17-Feb-2020 |
Christoph M. Becker |
Merge branch 'PHP-7.2' into PHP-7.3 * PHP-7.2: Update NEWS [ci skip]
|
#
5009b981 |
| 17-Feb-2020 |
Christoph M. Becker |
Update NEWS [ci skip] |
#
cf8407a2 |
| 17-Feb-2020 |
Dmitry Stogov |
Fixed bug #79255 (PHP cannot be compiled with enable JIT) |
#
7a8f180b |
| 17-Feb-2020 |
Nikita Popov |
Revert "Fixed bug #79255 (PHP cannot be compiled with enable JIT)" This reverts commit de6984edd5ce7fa2b2f365b5ae770507ef42022d. Reverting to unbreak 32-bit CI. |
#
73a4c503 |
| 17-Feb-2020 |
Christoph M. Becker |
Merge branch 'PHP-7.3' into PHP-7.4 * PHP-7.3: Fix #79271: DOMDocumentType::$childNodes is NULL
|
#
09669411 |
| 14-Feb-2020 |
Christoph M. Becker |
Fix #79271: DOMDocumentType::$childNodes is NULL Dom level 2 core, DOM level 3 core and the DOM living standard agree that `childNodes` always return a `NodeList`, and never `null`. |
#
de6984ed |
| 17-Feb-2020 |
Xinchen Hui |
Fixed bug #79255 (PHP cannot be compiled with enable JIT) |
#
8ec76366 |
| 14-Feb-2020 |
Christoph M. Becker |
Merge branch 'PHP-7.3' into PHP-7.4 * PHP-7.3: Fix typo in recent bugfix
|
#
392dada1 |
| 14-Feb-2020 |
Christoph M. Becker |
Merge branch 'PHP-7.2' into PHP-7.3 * PHP-7.2: Fix typo in recent bugfix
|
#
8308196c |
| 14-Feb-2020 |
Christoph M. Becker |
Fix typo in recent bugfix |
#
bf8c6519 |
| 13-Feb-2020 |
Christoph M. Becker |
Merge branch 'PHP-7.3' into PHP-7.4 * PHP-7.3: Fix #77569: Write Acess Violation in DomImplementation
|
#
8ebadd11 |
| 13-Feb-2020 |
Christoph M. Becker |
Merge branch 'PHP-7.2' into PHP-7.3 * PHP-7.2: Fix #77569: Write Acess Violation in DomImplementation
|
#
cec8b24c |
| 13-Feb-2020 |
Christoph M. Becker |
Fix #77569: Write Acess Violation in DomImplementation We must not assume that the zval IS_STRING. |