1
0
mirror of https://github.com/php/php-src.git synced 2026-04-21 23:18:13 +02:00
Commit Graph

55755 Commits

Author SHA1 Message Date
Dmitry Stogov be0d912674 Avoid recording of uninitialized variable 2020-07-21 14:11:19 +03:00
Nikita Popov ae2b214be2 Check for redundant func info 2020-07-21 13:01:12 +02:00
Nikita Popov ac56ca0dcc Separate __call and __soapCall implementations
This is overly pedantic, but allows us to enable more arginfo
consistency checks.
2020-07-21 12:59:28 +02:00
Nikita Popov 4dd8fec073 Add stubs for PDO PGSql extension methods 2020-07-21 12:49:37 +02:00
Nikita Popov 1afcced1f0 Add stubs for PDO SQLite extension methods
Putting these under a dummy PDO_SQLite_Ext class.
2020-07-21 12:49:36 +02:00
Nikita Popov 4ce9571978 Fix UConvert::getErrorMessage() leak on zpp failure 2020-07-21 12:05:44 +02:00
Nikita Popov ae81549048 Move SOAP_SERVER_BEGIN_CODE() after zpp
This is still very dubious, because there are lots of other "returns"
between the BEGIN and END -- won't that end up not restoring the
original state?
2020-07-21 12:05:42 +02:00
Nikita Popov b3ea6ce720 Make ReflectionGenerator final
This class is not safe against malicious extension / instantiation.
2020-07-21 11:53:00 +02:00
Nikita Popov 3a9036ac54 Stricter verification of func info against arg info
Make sure they're actually the same up to cases where func info
allows more accurate expressions. There are some awkward edge cases
around true/false/null limitations in union types.
2020-07-21 11:47:52 +02:00
Dmitry Stogov bb9e3dd6cc Use different temporary register 2020-07-21 12:21:47 +03:00
Nikita Popov e4c1366b63 Remove some redundant func info
This is fully covered by arginfo.

The array_merge_recursive() RC information was also wrong,
it should be the same as array_merge().
2020-07-21 11:10:07 +02:00
Dmitry Stogov e527478c3d Fixed support for 64-bit constants 2020-07-21 11:49:15 +03:00
Nikita Popov 33ddc3bb96 Fix mb_ereg_search* arg and func info 2020-07-21 10:40:08 +02:00
Nikita Popov da4262df6f Fix readline test after callback changes
This one requires libedit and was probably missed for that reason.
2020-07-21 10:40:08 +02:00
Nikita Popov be9c5daf28 Remove null from highlight_* return types
Also fix show_source() discrepancy in func_info.
2020-07-21 10:40:08 +02:00
Nikita Popov 9d37a57411 Remove bool return type from assert_options
Not seeing any way this function can return bool.
2020-07-21 10:18:33 +02:00
Nikita Popov fda78e5965 Fix iptcembed func info
This function can return true with $spool >= 2.
2020-07-21 10:18:33 +02:00
Nikita Popov 2160f5ce59 Call zpp_none in PharFileInfo::__destruct()
Using __destruct() with internal classes is dubious, but not so
simple to avoid here because the code extends SPL classes.
2020-07-21 10:18:33 +02:00
Dmitry Stogov 91d4d2443f Fixed pg_select() function info 2020-07-21 09:58:36 +03:00
George Peter Banyard d9330fc67e Use ZPP callable check in readline extension 2020-07-21 00:52:50 +01:00
George Peter Banyard a1097677a5 Use ZPP callable for PDO Sqlite 2020-07-21 00:20:02 +01:00
Dmitry Stogov 7cfb141f9d Fixed tracing JIT exception handling 2020-07-21 01:49:01 +03:00
Máté Kocsis 19bf66a9e4 Explode _php_image_output_ctx() into multiple functions
Closes GH-5844
2020-07-20 23:25:02 +02:00
Dmitry Stogov 774bc760af Fixed VM interrupt handling 2020-07-20 23:14:23 +03:00
Dmitry Stogov 4b13985f25 Keep CPU regesters used by deoptimizer 2020-07-20 21:04:14 +03:00
Dmitry Stogov 2b7035e824 Fixed tracing JIT for VM without global register variables 2020-07-20 20:59:31 +03:00
Nikita Popov 236ddc56a2 Preserve original ce_flags when registering class
Bug that regularly sneaks in: ZEND_ACC_FINAL is set before calling
zend_register_internal_class() and promptly gets ignored. Remove
this footgun by preserving flags from the original CE.
2020-07-20 17:00:04 +02:00
Nikita Popov 777aa9163d Fetch pdo stmt after zpp 2020-07-20 16:27:46 +02:00
Nikita Popov 9ee16a3c12 Update method signature in test 2020-07-20 16:16:37 +02:00
Nikita Popov 7d3e530f4e Use zpp for PDO fetch mode
Also changing the function signatures to accept variadic args
for the fetch params. If we're already breaking Doctrine anyway,
we may as well do it properly.
2020-07-20 16:05:33 +02:00
Nikita Popov 6f8d0ba0dd Fix bug #79868
This simply restores the code from PHP 7.4 which I incorrectly
"simplified" in master.
2020-07-20 15:15:23 +02:00
Christoph M. Becker 05e9197c51 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #63527: DCOM does not work with Username, Password parameter
2020-07-20 14:45:42 +02:00
Christoph M. Becker 4b96a75ffd Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #63527: DCOM does not work with Username, Password parameter
2020-07-20 14:44:18 +02:00
Christoph M. Becker b2e3fd1e69 Fix #63527: DCOM does not work with Username, Password parameter
We must not mix multibyte and wide character strings in the
`COAUTHIDENTITY` structure.  Using wide character strings throughout
would have the advantage that the remote connection can be established
regardless of the code page of the server, but that would more likely
break BC, so we just drop the wide character string conversion of the
username.
2020-07-20 14:43:29 +02:00
Dmitry Stogov d67adc39a0 Fixed incorrect deoptimization info 2020-07-20 13:49:46 +03:00
Dmitry Stogov 9f0213fff3 Remove old code (BP_VAR_RW warning) 2020-07-20 11:57:19 +03:00
Nikita Popov 015fc638fb Fix tests I missed before 2020-07-20 10:54:59 +02:00
Christopher Jones 74ca2a39a7 Rename OCI8 classes to use standard names so arg stub parsing works 2020-07-20 18:06:20 +10:00
Christopher Jones 8058776295 Bump OCI8 version to 3.0 so a PHP 8 PECL release can be made 2020-07-20 18:06:19 +10:00
Nikita Popov 59536d5baa Revert "Switch to tracing JIT by default"
This reverts commit 10b09578a8.

This seems to cause many test failures:

Test === operator : different types [tests/lang/operators/operator_identical_basic.phpt]
Test <=> operator : different types [tests/lang/operators/operator_spaceship_basic.phpt]
comparing different variables for equality [Zend/tests/compare_001_64bit.phpt]
comparing different variables for identity [Zend/tests/compare_002_64bit.phpt]
Rebinding of ::getClosure()s [Zend/tests/closure_061.phpt]
comparing different variables (greater than) [Zend/tests/compare_003_64bit.phpt]
comparing different variables (less than) [Zend/tests/compare_004_64bit.phpt]
comparing different variables (greater or equal than) [Zend/tests/compare_005_64bit.phpt]
comparing different variables (smaller or equal than) [Zend/tests/compare_006_64bit.phpt]
Invalid numeric string E_WARNINGs and E_NOTICEs, combined assignment operations [Zend/tests/numeric_string_errors_assign.phpt]
Bug #51819 (Case discrepancy in timezone names cause Uncaught exception and fatal error) [ext/date/tests/bug51819.phpt]
Test all filters returned by filter_list() [ext/filter/tests/033.phpt]
filter_var() and FILTER_VALIDATE_MAC [ext/filter/tests/055.phpt]
Test strrpos() function : usage variations - unexpected inputs for 'needle' argument [ext/standard/tests/strings/strrpos_variation10.phpt]
Test strtr() function : usage variations - empty string & null for 'str' argument [ext/standard/tests/strings/strtr_variation4.phpt]
Test strtr() function : usage variations - unexpected inputs for 'from' argument [ext/standard/tests/strings/strtr_variation6.phpt]
Test strstr() function [ext/standard/tests/strings/strstr.phpt]
2020-07-20 09:45:09 +02:00
Dmitry Stogov 10b09578a8 Switch to tracing JIT by default 2020-07-20 09:17:04 +03:00
Nikita Popov 9002e95f7c Use proper methods for php_user_filter implementation
These are dummy methods, but should at least check zpp for
arginfo consistency.
2020-07-17 17:01:47 +02:00
Nikita Popov 952222d067 Move SessionHandler sanity checks after zpp 2020-07-17 16:56:50 +02:00
Nikita Popov 9d2af91033 Only set DIT type on successful initialization 2020-07-17 16:42:56 +02:00
Nikita Popov d625c29df7 Remove spurious return true from DOMXPath::registerPhpFunctions()
Only one of three identical cases returned true, and the function
is documented to return void. Remove the outlier.
2020-07-17 16:11:30 +02:00
Nikita Popov d449d1dbbf Use string|array type in DOMXPath::registerPhpFunctions() 2020-07-17 16:10:49 +02:00
Nikita Popov 954244b3cb Convert SPL fatal error to Error exception 2020-07-17 16:06:54 +02:00
George Peter Banyard a1fee87c9a Drop useless zend_accel_script_persistable() function 2020-07-17 17:00:42 +02:00
Nikita Popov 6744ead1c9 Parse parameters in zend_test_void_return() 2020-07-17 15:43:40 +02:00
Nikita Popov 6ff31eebb1 Fix some pgsql arginfos
And make sure too few/many arguments throws, to satisfy the
function signature.
2020-07-17 15:43:37 +02:00