Máté Kocsis
cd40fc3cb1
Convert resources to objects in ext/ldap
...
Closes GH-6770
2021-03-21 10:43:25 +01:00
Dmitry Stogov
6690547a58
Use zend_hash_lookup()
2021-03-19 23:34:38 +03:00
Dmitry Stogov
340013ad01
Add zend_hash_lookup() and zend_hash_index_lookup() functions.
...
Thet search for an element with given key/index and add an empty one (NULL), if no found.
2021-03-19 22:36:24 +03:00
Christoph M. Becker
64e589cab6
Merge branch 'PHP-8.0'
...
* PHP-8.0:
Fix #80889 : Cannot set save handler when save_handler is invalid
2021-03-19 17:05:32 +01:00
Christoph M. Becker
2a1ed81ffc
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Fix #80889 : Cannot set save handler when save_handler is invalid
2021-03-19 17:03:54 +01:00
Christoph M. Becker
06bfada99b
Fix #80889 : Cannot set save handler when save_handler is invalid
...
There is no need to require a (valid) save_handler to be set, when a
user handler is supposed to be set. We just have to make sure, that
no user handler is already set in this case.
Closes GH-6788.
2021-03-19 16:59:54 +01:00
Nikita Popov
5fd2a5b13b
Fix handling of unknown class in trait precedence list
...
Fixes oss-fuzz #31983 .
2021-03-19 16:04:47 +01:00
Dmitry Stogov
89c61186ff
micro-optimization
2021-03-19 16:57:42 +03:00
Nikita Popov
7279a66139
Install de_DE locale on azure
2021-03-19 11:34:42 +01:00
Nikita Popov
2d0e2733c8
Support prototypes in call graph
...
Even if we don't know the exact method being called, include it
in the call graph with the is_prototype flag. In particular, we
can still make use of return types from prototype methods, as
PHP 8 makes LSP violations a hard error.
Most other places are adjusted to skip calls with !is_prototype.
Maybe some of them would be fine, but ignoring them is conservative.
2021-03-19 10:49:15 +01:00
Dmitry Stogov
6689bedd17
XFAIL on WIN64 because of problem in libffi
2021-03-19 12:19:24 +03:00
Nikita Popov
e67156e967
Add missing rc1/rcn to return type initialization
2021-03-19 10:04:56 +01:00
Nikita Popov
dcac654fd5
Allow inferring narrowed return type
...
Even if an explicit return type is given, we might still infer
a more narrow one based on return statements. We shouldn't
pessimize this just because a type has been declared.
2021-03-18 17:11:56 +01:00
Nikita Popov
2f73cbb1b1
Update one more use of NO_AUTOLOAD
2021-03-18 16:25:22 +01:00
Máté Kocsis
d91051da2c
Update mysqli stub hash
2021-03-18 16:09:25 +01:00
Christoph M. Becker
02fdf9fd3b
Merge branch 'PHP-8.0'
...
* PHP-8.0:
Fix #80783 : PDO ODBC truncates BLOB records at every 256th byte
2021-03-18 15:31:23 +01:00
Nikita Popov
8690efd1f8
Update opt test
...
And fix a type in the fetch class flags dumping while here.
2021-03-18 15:25:40 +01:00
Christoph M. Becker
97cfdcd73b
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Fix #80783 : PDO ODBC truncates BLOB records at every 256th byte
2021-03-18 15:18:53 +01:00
Nikita Popov
4df39f4bd0
Don't imply SILENT from NO_AUTOLOAD
...
We have separate flags for non-autoloading class fetches and
silent class fetches. There's no reason why NO_AUTOLOAD should
be special-cased to be implicitly silent.
2021-03-18 15:15:21 +01:00
Christoph M. Becker
bccca0b53a
Fix #80783 : PDO ODBC truncates BLOB records at every 256th byte
...
It is not guaranteed, that the driver inserts only a single NUL byte at
the end of the buffer. Apparently, there is no way to find out the
actual data length in the buffer after calling `SQLGetData()`, so we
adjust after the next `SQLGetData()` call.
We also prevent PDO::ODBC_ATTR_ASSUME_UTF8 from fetching garbage, by
fetching all chunks with the same C type.
Closes GH-6716.
2021-03-18 15:13:27 +01:00
Dmitry Stogov
c8a8c47f7e
Merge branch 'PHP-8.0'
...
* PHP-8.0:
Additional fix for bug #80847 . On x86_64 part of structure may be passed in CPU registers.
2021-03-18 16:16:29 +03:00
Dmitry Stogov
465cfc499b
Additional fix for bug #80847 .
...
On x86_64 part of structure may be passed in CPU registers.
2021-03-18 16:13:42 +03:00
Dmitry Stogov
9373d159c2
"zend-test" was renamed to "zend_test"
2021-03-18 14:36:46 +03:00
Nikita Popov
3b88e65265
Merge branch 'PHP-8.0'
...
* PHP-8.0:
Fix locale switch back to C in pcre
2021-03-18 10:51:04 +01:00
Nikita Popov
4dce2f83f5
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Fix locale switch back to C in pcre
2021-03-18 10:50:57 +01:00
Nikita Popov
4be867e910
Fix locale switch back to C in pcre
...
The compile context is shared between patterns, so we need to set
the character tables unconditionally in case we switched from
a non-C locale to the C locale.
2021-03-18 10:48:43 +01:00
Nikita Popov
234af00bcb
Destroy constant values before object store
...
Now that constants can contain objects (currently only enums),
we should destroy them before we free the object store, otherwise
there will be false positive leak reports.
This doesn't affect the fast_shutdown sequence.
2021-03-18 10:31:28 +01:00
Dharman
7e9f6d2a48
Deprecate OO style mysqli::get_client_info method
...
Deprecate passing connection object to mysqli_get_client_info()
Closes GH-6777.
2021-03-17 20:10:18 +00:00
Dmitry Stogov
eb8f5e4347
Merge branch 'PHP-8.0'
...
* PHP-8.0:
Fixed bug #80861 (erronous array key overflow in 2D array with JIT)
2021-03-17 23:00:22 +03:00
Dmitry Stogov
7e494d9225
Fixed bug #80861 (erronous array key overflow in 2D array with JIT)
2021-03-17 22:59:59 +03:00
Ilija Tovilo
d628d7e015
Add enums to UPGRADING [ci skip]
2021-03-17 19:15:35 +01:00
Ilija Tovilo
269c8dac1d
Implement enums
...
RFC: https://wiki.php.net/rfc/enumerations
Co-authored-by: Nikita Popov <nikita.ppv@gmail.com >
Closes GH-6489.
2021-03-17 19:08:03 +01:00
George Peter Banyard
a6fc427b8c
Use zend_string_equals() API instead of strcmp() in various places
...
Closes GH-6784
2021-03-17 16:36:23 +00:00
George Peter Banyard
a74e248c43
Use zend_string_equals() API instead of strcmp() in COM extension
2021-03-17 16:36:16 +00:00
George Peter Banyard
6acb079906
Use zend_string_equals() API instead of strcmp() in Date extension
2021-03-17 16:36:16 +00:00
George Peter Banyard
4b20c03387
Use zend_string_equals() API instead of strcmp() in Filter extension
2021-03-17 16:36:16 +00:00
George Peter Banyard
48ac3881a3
Use zend_string_equals() API instead of strcmp() in PGSQL extension
...
And tiny drive by refactor at the same time for more usages
2021-03-17 16:36:16 +00:00
George Peter Banyard
84e12626e7
Use zend_string_equals() API instead of strcmp() in SOAP extension
2021-03-17 16:36:16 +00:00
George Peter Banyard
ddfe269aa8
Use zend_string_equals() API instead of strcmp() in main.c
2021-03-17 16:36:16 +00:00
Nikita Popov
00aa03bf8e
Merge branch 'PHP-8.0'
...
* PHP-8.0:
Fix signed/unsigned warnings in PDO ODBC
2021-03-17 16:34:34 +01:00
Nikita Popov
34e39ebaf5
Fix signed/unsigned warnings in PDO ODBC
...
Add add skipif to test.
(cherry picked from commit aa58db7232 )
2021-03-17 16:33:32 +01:00
Nikita Popov
e9d78339e7
Use absolute paths in tokenizer_data_gen.php
...
To make it work with out-of-tree builds.
2021-03-17 15:54:02 +01:00
Christoph M. Becker
128082c86f
Initalize return_value before use
...
Otherwise we likely segfault[1]. We fix the same issue for
PDO_Firebird as well.
[1] <https://ci.appveyor.com/project/php/php-src/builds/38267250/job/6y3ngn1k6ryxx6j3?fullLog=true#L9783 >
Closes GH-6785.
2021-03-17 15:39:50 +01:00
Nikita Popov
92a969421c
Merge branch 'PHP-8.0'
...
* PHP-8.0:
imagecolortransparent() cannot return null
2021-03-17 15:09:26 +01:00
Nikita Popov
d80118dc16
imagecolortransparent() cannot return null
2021-03-17 15:09:06 +01:00
Nikita Popov
db538775e1
Merge branch 'PHP-8.0'
...
* PHP-8.0:
Return bool from imageinterlace()
2021-03-17 15:06:46 +01:00
Nikita Popov
c17434429d
Return bool from imageinterlace()
...
The function accepts a bool since PHP 8.0, so it should also return
a bool to keep things consistent.
Furthermore a null return from this functions is not possible.
2021-03-17 15:05:09 +01:00
Dmitry Stogov
8f0ca7c16c
Merge branch 'PHP-8.0'
...
* PHP-8.0:
Fixed bug #80839 (PHP problem with JIT)
2021-03-17 16:55:42 +03:00
Dmitry Stogov
faf1567212
Fixed bug #80839 (PHP problem with JIT)
2021-03-17 16:55:09 +03:00
Dmitry Stogov
356ef5bd0e
Fix CLANG/RELEASE build (this is a workaround for probable bug in CLANG)
2021-03-17 15:50:36 +03:00