1
0
mirror of https://github.com/php/php-src.git synced 2026-04-21 15:08:16 +02:00
Commit Graph

122358 Commits

Author SHA1 Message Date
Nikita Popov 8bd5310a1e Merge branch 'PHP-8.0'
* PHP-8.0:
  Fix bug #80523
2020-12-16 10:20:57 +01:00
Nikita Popov f6bd3dfdbc Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4:
  Fix bug #80523
2020-12-16 10:20:43 +01:00
Nikita Popov 118ff03335 Fix bug #80523
Don't truncate the file length to unsigned int...

I have no idea whether that fully fixes the problem because the
process gets OOM killed before finishing, but at least the
immediate parse error is gone now.
2020-12-16 10:20:20 +01:00
Nikita Popov cfe2b36a6d Fix ATTR_ORACLE_NULLS with PARAM_ZVAL
PARAM_ZVAL with a STR result should be treated the same way as
PARAM_STR in this regard.
2020-12-15 17:12:46 +01:00
Derick Rethans f66f2b2b4f Merge branch 'PHP-8.0' 2020-12-15 14:13:55 +00:00
Derick Rethans e586a35fc7 Merge branch 'PHP-7.4' into PHP-8.0 2020-12-15 14:13:43 +00:00
Derick Rethans 078cdd8f76 Prepare for 7.4.15 2020-12-15 14:13:29 +00:00
Gabriel Caruso 1314ae65e2 Merge branch 'PHP-8.0' 2020-12-15 11:05:19 -03:00
Gabriel Caruso 9eea9aae10 Prepare for PHP 8.0.2
This was missing from f1f78ac875.
2020-12-15 11:03:21 -03:00
Gabriel Caruso 82af0ea73d Merge branch 'PHP-8.0' 2020-12-15 10:33:28 -03:00
Gabriel Caruso f1f78ac875 Next is 8.0.2 2020-12-15 10:30:55 -03:00
Nikita Popov 806465892e MySQLnd: Drop free_result_internal
Merge it into free_result. There is a large number of different
free_* functions for result sets, let's avoid having one more.
Only difference is that it does not increment stats, and that
seems like a bug as free_stmt_result is still freeing a result.
2020-12-15 12:35:58 +01:00
Dmitry Stogov 6c05b33e84 Merge branch 'PHP-8.0'
* PHP-8.0:
  Optimize out result value of ASSIGN, ASSIGN_OP and INC/DEC opcodes, if possible.
2020-12-15 14:34:21 +03:00
Dmitry Stogov de78786566 Optimize out result value of ASSIGN, ASSIGN_OP and INC/DEC opcodes, if possible. 2020-12-15 14:30:58 +03:00
Nikita Popov 6bda0c14f5 MySQLnd: Simplify management of zval row buffer
Something odd was being done here, with the row packet having a
flag for whether it should allocate the zval buffer, which would
then get moved into the result set.

Keep the management of this buffer purely at the result set level.
This also allows us to easily reuse the same buffer for all results,
rather than allocating a new one for each fetch.
2020-12-15 12:00:05 +01:00
Christoph M. Becker 6b37cdda66 Merge branch 'PHP-8.0'
* PHP-8.0:
  Fix #77322: PharData::addEmptyDir('/') Possible integer overflow
2020-12-15 11:46:46 +01:00
Christoph M. Becker c2fbab392c Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4:
  Fix #77322: PharData::addEmptyDir('/') Possible integer overflow
2020-12-15 11:46:28 +01:00
Christoph M. Becker a53d67ceac Fix #77322: PharData::addEmptyDir('/') Possible integer overflow
`phar_path_check()` already strips a leading slash, so we must not
attempt to strip the trailing slash from an now empty directory name.

Closes GH-6508.
2020-12-15 11:44:53 +01:00
Christoph M. Becker 6e2614ef6c Merge branch 'PHP-8.0'
* PHP-8.0:
  7.3.27 is next
2020-12-15 11:32:43 +01:00
Christoph M. Becker 305500a3b1 Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4:
  7.3.27 is next
2020-12-15 11:32:10 +01:00
Christoph M. Becker c0a1c2c5ee Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  7.3.27 is next
2020-12-15 11:30:46 +01:00
Christoph M. Becker 40d9e3ab86 7.3.27 is next 2020-12-15 11:28:01 +01:00
Nikita Popov 362c29241d Remove mysqlnd_extension enum
ext/mysql is no longer supported, drop handling for it from
mysqlnd.
2020-12-15 10:55:53 +01:00
Nikita Popov be4f73f328 MySQLnd: Remove unused fetch_field_data method
This method is not used, and is implemented in a very dubious
way.
2020-12-15 10:47:39 +01:00
Levi Morrison 36ff92e6fb Remove very old -no-cpp-precomp compatibility flag on Mac
Closes GH-6501.
2020-12-15 10:19:26 +01:00
Nikita Popov 0896f36bc6 Merge branch 'PHP-8.0'
* PHP-8.0:
  JIT: Update invalid opcache.jit INI value message to include "tracing" and "function" values
2020-12-15 10:18:54 +01:00
Ayesh Karunaratne 724e241c9d JIT: Update invalid opcache.jit INI value message to include "tracing" and "function" values
`opcache.jit` accepts `tracing` and `function` as aliases, but they were not mentioned in the start-up INI warning message.
This updates the error message to include all possible values.

Closes GH-6490.
2020-12-15 10:18:33 +01:00
Nikita Popov 3642042629 Merge branch 'PHP-8.0'
* PHP-8.0:
  IBM i PASE doesn't support ITIMER_PROF
2020-12-15 10:15:52 +01:00
Nikita Popov b6d043aae2 Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4:
  IBM i PASE doesn't support ITIMER_PROF
2020-12-15 10:15:47 +01:00
Calvin Buckley 54248b18fe IBM i PASE doesn't support ITIMER_PROF
Like Cygwin, this platform needs to use a real-time timer.

This was based on a patch by @kadler, but it didn't handle unsetting
the timer, so the timeout would continue to be active, triggering
`hard_timeout` unexpectedly. The patch is fixed to handle unsetting.

Closes GH-6503.
2020-12-15 10:15:28 +01:00
jellyNoone c1e977f1bb Add more tests that document late static binding
Closes GH-6515.
2020-12-15 10:04:39 +01:00
Nikita Popov f9942b061d Merge branch 'PHP-8.0'
* PHP-8.0:
  JIT disabled build fix.
2020-12-15 09:51:51 +01:00
David Carlier 1e6c7e776c JIT disabled build fix.
Closes GH-6514.
2020-12-15 09:51:16 +01:00
Christoph M. Becker b59156ca8c Merge branch 'PHP-8.0'
* PHP-8.0:
  Add Windows support for OCI 19
2020-12-14 23:14:31 +01:00
Christoph M. Becker 2e974c8c81 Add Windows support for OCI 19
As requested by Christopher Jones.
2020-12-14 23:11:04 +01:00
Christoph M. Becker 5263fffdbf Merge branch 'PHP-8.0'
* PHP-8.0:
  Drop pdo_mysql_prepare_load_data.phpt
2020-12-14 18:28:29 +01:00
Christoph M. Becker 15d9c42070 Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4:
  Drop pdo_mysql_prepare_load_data.phpt
2020-12-14 18:27:53 +01:00
Christoph M. Becker 10c9d615de Drop pdo_mysql_prepare_load_data.phpt
Like the test title and some comments in this test describe, this test
was supposed to have `::prepare()` failing because `LOAD DATA INFILE`
would not be supported as prepared statement, and then the test checks
whether follow-up queries would succeed.  However, `LOAD DATA INFILE`
is supported for prepared statements at least on Windows with mysqlnd,
so the test does no longer test what it is supposed to do.  Therefore,
we drop it.

Closes GH-6509.
2020-12-14 18:26:12 +01:00
Nikita Popov 3c63b26b6d Use zmm for row_c data
This API already doesn't match libmysqlclient, so we may as well
use the zmm.
2020-12-14 13:43:30 +01:00
Dmitry Stogov f1e2cd8625 Merge branch 'PHP-8.0'
* PHP-8.0:
  Remove unused flag
2020-12-14 15:29:34 +03:00
Dmitry Stogov b3377028dc Remove unused flag 2020-12-14 15:29:21 +03:00
Dmitry Stogov c3c7b673d1 Merge branch 'PHP-8.0'
* PHP-8.0:
  Fixed bug #80506 (Immediate SIGSEGV upon ini_set("opcache.jit_debug", 1))
2020-12-14 15:28:27 +03:00
Dmitry Stogov 66e390707c Fixed bug #80506 (Immediate SIGSEGV upon ini_set("opcache.jit_debug", 1)) 2020-12-14 15:28:03 +03:00
Dmitry Stogov a12e7affd7 Fixed bug #80506 (Immediate SIGSEGV upon ini_set("opcache.jit_debug", 1)) 2020-12-14 15:26:11 +03:00
Nikita Popov 7088cffe8a mysqlnd_error_info_init() cannot fail 2020-12-14 12:31:45 +01:00
Nikita Popov 35d752f4fc Remove more OOM checks 2020-12-14 12:28:26 +01:00
Nikita Popov 141eb346b0 Remove MYSQLND_STRING_TO_INT_CONVERSION define
This has been unconditionally enabled for a long time already
(the actual conversion is behind an additional runtime flag).
2020-12-14 12:03:43 +01:00
Nikita Popov 5d9bd14ccc MySQLnd: Remove some unnecessary allocator failure checks
emalloc/pemalloc are infallible.
2020-12-14 11:58:43 +01:00
Nikita Popov 86e317ad80 MySQLnd: Remove fail thresholds from infallible allocators
emalloc() etc are infallibe by design. Having a failure threshold
for them is a violation of the API contract.
2020-12-14 11:51:30 +01:00
Nikita Popov 2d51c203f0 PDO: Store/pass query_string as zend_string
Rather than storing char* + size_t, use a zend_string*. Also
avoid various copies of the query string.
2020-12-14 10:43:28 +01:00