Dmitry Stogov
7237da27fe
Remove HOT attribute from some VM handlers. Comparisons almost always followed by JMPZ/JMPNZ; JMPZNZ is rare used.
2019-09-05 11:40:15 +03:00
Nikita Popov
a2c21e10b2
Remove --with-zlib-dir option from mysqlnd config
...
mysqlnd doesn't actually use this. PDO MySQL uses it, but also
declares it separately.
2019-09-05 10:39:04 +02:00
Nikita Popov
b6f76aca54
Improve exception handling for abstract/deprecated calls
...
Reuse existing arg freeing loop instead of duplicating it.
Additionally also handle deprecated in DO_FCALL_BY_NAME.
2019-09-04 15:19:21 +02:00
Nikita Popov
4bb7282742
Fix handling of abstract/deprecated exception
...
The exception mechanism assumes that exceptions from DO_FCALL are
already happening after the function call. This means that we are
currently leaking the passed arguments, and I think we can also
corrupt the VM stack due to incorrect frame linking in some cases
(there are assertion failures if the VM stack page size is reduced).
Instead handle the stack frame freeing manually for this special
case.
2019-09-04 12:46:00 +02:00
Dmitry Stogov
1db0bad6a7
Fixed bug #78488 (OOB in ZEND_FUNCTION(ffi_trampoline)).
2019-09-04 12:16:12 +03:00
Tyson Andre
94e2f25f07
Add missing opcache return types for functions in spl
...
(excluding spl_autoload)
spl_object_id() is of the most interest to me,
since I frequently call it in an application.
This includes false/null types caused by wrong argument types and wrong argument
counts.
I can't rule out iterator_to_array returning null in spl_iterator_apply,
so leave MAY_BE_NULL in.
With review comments by nikic:
Co-Authored-By: Nikita Popov <nikita.ppv@googlemail.com>
2019-09-04 11:12:41 +02:00
Fabien Villepinte
ced5bb7d88
Add the last missing SKIPIF
2019-09-04 08:53:35 +02:00
Fabien Villepinte
db4f5e44e1
Add missing SKIPIF (mbstring)
2019-09-04 08:51:03 +02:00
Fabien Villepinte
7aece45f4d
Add missing SKIPIF (openssl)
...
Co-Authored-By: Gabriel Caruso <carusogabriel34@gmail.com>
2019-09-04 08:43:32 +02:00
Fabien Villepinte
bbf7b8dd69
Add missing SKIPIF (sqlite)
2019-09-04 08:39:15 +02:00
Fabien Villepinte
c0c1f9d38c
Add missing SKIPIF
2019-09-04 08:36:11 +02:00
Christoph M. Becker
61dcae50d5
Document opcache.preload_user directive
2019-09-03 14:08:17 +02:00
Nikita Popov
6255308624
Report false for inherited private methods in method_exists()
...
These shadow methods only exist as internal implementation markers.
This mirrors the behavior of property_exists().
2019-09-03 13:59:25 +02:00
Christoph M. Becker
fd7309d194
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #41997 : SP call yields additional empty result set
2019-09-03 13:33:15 +02:00
Christoph M. Becker
b90cd91eba
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fix #41997 : SP call yields additional empty result set
2019-09-03 13:31:24 +02:00
Christoph M. Becker
41a4379cb4
Fix #41997 : SP call yields additional empty result set
...
When stored procedures are called, the "final result set is a status
result that includes no result set". Calling `::nextRowset()` on the
actual last result set should return FALSE, since there is actually no
further result set to be processed.
2019-09-03 13:29:30 +02:00
Dmitry Stogov
5dc37cc306
Execute preload script under user defined by opcache.preload_user directive
2019-09-03 14:23:13 +03:00
Nikita Popov
518c651c66
Avoid pointer UB in strip_header
...
Don't calculate header_start if lc_header_start is NULL, as we're
going to overflow the address space in that case.
2019-09-03 12:28:18 +02:00
Nikita Popov
265af40a0a
Use unsigned subtraction in php_random_int()
...
This subtraction may overflow the signed domain, which is UB. Use
an unsigned subtraction instead.
2019-09-03 12:28:18 +02:00
Derick Rethans
ac356ba81f
Merge branch 'PHP-7.4' of git://github.com/php/php-src into PHP-7.4
2019-09-03 09:11:00 +01:00
Tyson Andre
4de8503c22
Add missing opcache return info for ext/standard.
...
array_key_first/last returns null for invalid args,
wrong argument counts, and empty arrays.
random_bytes returns a string or throws.
2019-09-03 09:57:51 +02:00
Tyson Andre
1a905bcb1e
Add new missing functions from ext/hash
2019-09-03 09:53:41 +02:00
Nikita Popov
c0e9b1532e
Add zpp check to spl_classes()
2019-09-03 09:50:08 +02:00
Derick Rethans
c53da9b631
Update NEWS for 7.4.0RC2
2019-09-03 07:46:16 +00:00
Derick Rethans
ba7ae00bde
Update NEWS for PHP 7.4.0RC1
2019-09-03 07:44:58 +00:00
Nikita Popov
5acedabfc0
Clarify failure behavior of spl_iterator_apply()
...
It only fails if it throws, in which case it is meaningless to
set a return value.
2019-09-03 09:43:22 +02:00
Christoph M. Becker
de643aaa46
Add missing argument checks
...
These functions don't expect any arguments, so we check that none are
given.
2019-09-03 09:27:55 +02:00
Nikita Popov
632708ac02
Merge branch 'PHP-7.3' into PHP-7.4
2019-09-03 09:24:05 +02:00
Nikita Popov
d66e0f165d
Merge branch 'PHP-7.2' into PHP-7.3
2019-09-03 09:23:55 +02:00
Tyson Andre
9c3b7ccda5
Fix opcache return type for hash_update_stream
...
It can return false if the resource type is wrong.
```
php > var_export(hash_update_stream(hash_init('md5'),
imagecreate(1,1)));
Warning: hash_update_stream(): supplied resource is not a valid stream
resource in php shell code on line 1
false
```
The return types were initially added in
c88ffa9a56
2019-09-03 09:23:39 +02:00
Dmitry Stogov
78aa89a3ee
Update PHP_API_VERSION
2019-09-02 19:02:40 +03:00
Christoph M. Becker
f597059001
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Update NEWS
2019-09-02 15:21:49 +02:00
Christoph M. Becker
f712925500
Update NEWS
2019-09-02 15:21:20 +02:00
Christoph M. Becker
38d2c9bd62
Merge branch 'PHP-7.3' into PHP-7.4
...
* PHP-7.3:
Fix #76577 : outdated documentation concerning track_errors
2019-09-02 15:06:45 +02:00
Christoph M. Becker
86ddc469f9
Merge branch 'PHP-7.2' into PHP-7.3
...
* PHP-7.2:
Fix #76577 : outdated documentation concerning track_errors
2019-09-02 15:05:57 +02:00
Christoph M. Becker
cd63908ab8
Fix #76577 : outdated documentation concerning track_errors
2019-09-02 15:05:01 +02:00
Dmitry Stogov
c739023a50
Free two bits in fn_flags by merging ZEND_ACC_HEAP_RT_CACHE/ZEND_ACC_USER_ARG_INFO and ZEND_ACC_DONE_PASS_TWO/ZEND_ACC_ARENA_ALLOCATED that may be used only for user/internal functions
2019-09-02 14:05:28 +03:00
Dmitry Stogov
e6d3a218f0
Fixed information about unused flags
2019-09-02 12:50:05 +03:00
Nikita Popov
0f489db808
Merge branch 'PHP-7.3' into PHP-7.4
2019-09-02 09:37:26 +02:00
Nikita Popov
7659182632
Merge branch 'PHP-7.2' into PHP-7.3
2019-09-02 09:36:58 +02:00
Nikita Popov
5a0980f1d9
Fix pkg-config version constraint for ICU
...
On PHP 7.2 our minimum ICU version is 4.0, not 40.
2019-09-02 09:36:20 +02:00
George Peter Banyard
e895e96286
Drop E_STRICT notice in mysqli extension
2019-08-31 23:14:10 +02:00
Nikita Popov
77a0fa101e
Reenable alloca support on ZTS
...
This got disabled due to an incorrect change in a preprocessor condition
in 2104bea5d7
. It was not supposed to
be disabled.
2019-08-30 17:24:06 +02:00
Nikita Popov
1e4cc5bf0b
Fix file clashes in copy tests
...
Create the "*" file in a sub-directory rather than the main test
directory, so that it's different for each test.
2019-08-30 16:36:49 +02:00
Nikita Popov
2f67f32eaa
Remove bogus vcwd_open
...
This is a left-over from the Linux version...
2019-08-30 16:09:55 +02:00
Nikita Popov
27da21d429
Merge branch 'PHP-7.3' into PHP-7.4
2019-08-30 16:07:54 +02:00
Nikita Popov
e9cfd94b8e
Merge branch 'PHP-7.2' into PHP-7.3
2019-08-30 16:07:43 +02:00
Sergei Turchanov
8f564e5308
Fixed bug #78469
...
fcgi_accept_request function is supposed to call a FastCGI implementation's
on_accept hook when entering an "accepting" stage (that is right before
calling "accept"). This hook implementation (fpm_request_accepting) updates
a worker state to an "accepting" state which is effectively an "Idle" state,
and updates counters on the scoreboard of the corresponding pool (idle++,
active--).
But this is not done when listening for client connections on a named pipe on
Windows platform. In that case a combination of
ConnectNamedPipe/WaitForSingleObject is used (to be able to catch in_shutdown
as far as I understand), but it is nonetheless functionally equivalent to
"accept" call. Also by not calling on_hook neither a worker's state is updated
to "accepting" state nor scoreboard counters are updated.
2019-08-30 16:06:50 +02:00
Nikita Popov
b4088ba509
Avoid accessing undefined index in CLI server test
2019-08-30 11:02:30 +02:00
Nikita Popov
226fd52c76
Don't call Reflection::export() in --rf etc implementation
...
This method is deprecated ... instead simply directly print the
object.
2019-08-30 11:02:28 +02:00