Nikita Popov
9dda22bd1e
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Fixed bug #80457
2020-12-02 11:29:41 +01:00
Nikita Popov
f2833ca1be
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fixed bug #80457
2020-12-02 11:29:06 +01:00
Nikita Popov
d6fcaf5da4
Fixed bug #80457
...
On x32 sizeof(size_t) != sizeof(zend_long), so we need to be
careful with sign extension here.
Patch by bruno dot premont at restena dot lu.
2020-12-02 11:26:10 +01:00
Nikita Popov
9ef2c5c303
stream_get_transports/wrappers cannot return false
...
These may return an empty array, but not false.
2020-09-22 12:02:39 +02:00
Máté Kocsis
c37a1cd650
Promote a few remaining errors in ext/standard
...
Closes GH-6110
2020-09-15 14:26:16 +02:00
Máté Kocsis
c98d47696f
Consolidate new union type ZPP macro names
...
They will now follow the canonical order of types. Older macros are
left intact due to maintaining BC.
Closes GH-6112
2020-09-11 11:00:18 +02:00
Máté Kocsis
2c96780e1c
Fix UNKNOWN default values in ext/standard
...
Closes GH-6026
2020-09-07 18:58:11 +02:00
Máté Kocsis
8107a1da5a
Use ZPP instead of custom type checks
...
We can add these types as a native type declaration to stubs as a side-effect. Closes GH-6068
2020-09-04 14:32:34 +02:00
George Peter Banyard
4a438b4469
Warning to Error promotion in ext/standard
...
Those should be the last ones other than set(raw)cookie()
Closes GH-5814
2020-09-03 17:43:57 +02:00
George Peter Banyard
fa8d9b1183
Improve type declarations for Zend APIs
...
Voidification of Zend API which always succeeded
Use bool argument types instead of int for boolean arguments
Use bool return type for functions which return true/false (1/0)
Use zend_result return type for functions which return SUCCESS/FAILURE as they don't follow normal boolean semantics
Closes GH-6002
2020-08-28 15:41:27 +02:00
Nikita Popov
e083cfaf6d
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Require non-negative length in stream_get_contents()
2020-08-27 15:51:58 +02:00
Nikita Popov
8daf79215d
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Require non-negative length in stream_get_contents()
2020-08-27 15:51:35 +02:00
Nikita Popov
62dce97973
Require non-negative length in stream_get_contents()
...
If the length is not -1, require it to be non-negative.
Using such lengths doesn't make sense (as only -1 is special-case
to read in chunks, anything else will end up doing a huge upfront
allocation) and can lead to string allocation overflow.
A similar check is already in place for file_get_contents(). That
one does not allow -1 (and uses null instead), but this function
is explicitly specified to accept -1, so stick to that behavior.
2020-08-27 15:50:49 +02:00
Christoph M. Becker
ae7554270f
Fix #79805 : sapi_windows_vt100_support throws TypeError
...
It does not make sense to throw a `TypeError` when the stream can't be
analyzed. If `sapi_windows_vt100_support()` is used as getter, we just
return `false` in that case; if the function is used as setter, we
additionally trigger a warning.
We also fix the test cases for this function, which have been broken
before. Note that these tests are still whitespace sensitive.
2020-07-16 18:36:02 +02:00
Max Semenik
2b5de6f839
Remove proto comments from C files
...
Closes GH-5758
2020-07-06 21:13:34 +02:00
Nikita Popov
0280b83e11
Avoid some unnecessary uses of no_separation=0
...
For the rare cases where references are part of the API,
construct them explicitly. Otherwise do not allow separation.
2020-07-06 19:05:57 +02:00
Máté Kocsis
6111d64cda
Improve a last couple of argument error messages
...
Closes GH-5404
2020-04-20 13:09:00 +02:00
Nikita Popov
e9bdbce53f
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Don't leak peername if accept fails
2020-04-14 16:08:43 +02:00
Nikita Popov
912e490196
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Don't leak peername if accept fails
2020-04-14 16:08:07 +02:00
Nikita Popov
b56fb9019e
Don't leak peername if accept fails
...
Even if the accept fails, the peername may be populated.
2020-04-14 16:07:39 +02:00
Nikita Popov
b3f3a80f9c
Make stream_socket_enable_crypto() session stream nullable
2020-04-09 16:10:33 +02:00
Nikita Popov
217dfc0832
Accept null context in stream_socket_(client|server)
2020-04-09 16:10:27 +02:00
Máté Kocsis
bb6f374048
Improve argument error messages in ext/standard
...
Closes GH-5198
2020-03-18 19:56:10 +01:00
Christoph M. Becker
f078bca729
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Fix #78210 : Invalid pointer address
2020-03-11 11:32:46 +01:00
Christoph M. Becker
8657f03084
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #78210 : Invalid pointer address
2020-03-11 11:31:26 +01:00
Christoph M. Becker
53797c206a
Fix #78210 : Invalid pointer address
...
This is actually about three distinct issues:
* If an empty string is passed as $address to `stream_socket_sendto()`,
the `sa` is not initialized, so we must not pass it as `addr` to
`php_stream_xport_sendto()`.
* On POSIX, `recvfrom()` truncates messages which are too long to fit
into the specified buffer (unless `MSG_PEEK` is given), discards the
excessive bytes, and returns the buffer length. On Windows, the same
happens, but `recvfrom()` returns `SOCKET_ERROR` with the error code
`WSAEMSGSIZE`. We have to catch this for best POSIX compatibility.
* In `php_network_parse_network_address_with_port()`, we have to zero
`in6` (not only its alias `sa`) to properly support IPv6.
Co-Authored-By: Nikita Popov <nikita.ppv@googlemail.com>
2020-03-11 11:30:15 +01:00
Máté Kocsis
d1764ca330
Make error messages more consistent by fixing capitalization
...
Closes GH-5066 As a first step, let's capitalize their initial letter when it is applicable.
2020-01-17 14:52:46 +01:00
Máté Kocsis
aadd3aaed9
Use RETURN_THROWS() in various places
2020-01-03 21:10:24 +01:00
Máté Kocsis
bbcfa66e06
Use RETURN_THROWS() after zend_fetch_resource*()
2020-01-03 19:20:56 +01:00
Máté Kocsis
7b4a4d2ace
Use RETURN_THROWS() after try_convert_to_string()
2020-01-03 17:04:06 +01:00
Máté Kocsis
9099dbd961
Use RETURN_THROWS() after zend_type_error()
2020-01-01 14:23:21 +01:00
Máté Kocsis
31cf9a7ea9
Use RETURN_THROWS() when an exception is thrown
...
Closes GH-5036
2019-12-30 17:38:10 +01:00
Máté Kocsis
e34a1f9289
Convert zend_parse_parameters_none() to fast ZPP in standard lib
...
Closes GH-5037
2019-12-30 15:28:37 +01:00
Máté Kocsis
7bfeef602a
Promote warnings to exceptions in stream-related functions
...
GH-5017
2019-12-20 12:01:02 +01:00
Nikita Popov
6719d3e718
Add Z_PARAM_STRING/ARRAY_OR_NULL convenience macros
2019-10-29 13:29:52 +01:00
Colin O'Dell
8ccd58baca
Add Z_PARAM_LONG_OR_NULL macro
2019-10-22 12:09:04 +02:00
Nikita Popov
647b1c7fcf
Remove most uses of ZEND_PARSE_PARAMETERS_END_EX()
...
As ZPP now throws, it makes no sense to specify an explicit return
value.
2019-10-07 10:02:18 +02:00
Gabriel Caruso
5d6e923d46
Remove mention of PHP major version in Copyright headers
...
Closes GH-4732.
2019-09-25 14:51:43 +02:00
Nikita Popov
7686b0b889
Merge branch 'PHP-7.4'
2019-06-05 14:53:50 +02:00
Nikita Popov
a31f46421d
Allow exceptions in __toString()
...
RFC: https://wiki.php.net/rfc/tostring_exceptions
And convert some object to string conversion related recoverable
fatal errors into Error exceptions.
Improve exception safety of internal code performing string
conversions.
2019-06-05 14:25:07 +02:00
Nikita Popov
001d434449
Finish func_info updates for ext/standard
2019-06-03 11:26:25 +02:00
Dmitry Stogov
e188e4170f
Use ZEND_TRY_ASSIGN_REF_... macros for arguments passed to internal function by reference
2019-04-24 18:28:29 +03:00
Dmitry Stogov
2e4686b566
Use ZEND_TRY_ASSIGN_REF_... macros for arguments passed to internal function by reference
2019-04-24 18:16:47 +03:00
Dmitry Stogov
34db07567d
Use ZEND_TRA_ASSIGN_REF_... macros for by reference arguments of internal functions.
2019-04-24 16:14:48 +03:00
Nikita Popov
3fab73e24e
Avoid misc uninitialized variable warnings
2019-04-12 15:12:45 +02:00
Nikita Popov
339b0af429
Avoid misc uninitialized variable warnings
2019-04-12 15:12:39 +02:00
Nikita Popov
39bffff9ce
Merge branch 'PHP-7.4'
2019-04-08 13:00:28 +02:00
Nikita Popov
897cb8bc6f
Merge branch 'PHP-7.3' into PHP-7.4
2019-04-08 13:00:20 +02:00
Nikita Popov
a90ac8b5b2
Merge branch 'PHP-7.2' into PHP-7.3
2019-04-08 13:00:05 +02:00
twosee
bdac9ef10d
Preserve keys in emulate_read_fd_set()
...
Keys are already preserved in the non-emulated case.
2019-04-08 12:58:46 +02:00