1
0
mirror of https://github.com/php/php-src.git synced 2026-04-04 14:42:49 +02:00
Commit Graph

115963 Commits

Author SHA1 Message Date
Fabien Villepinte
78c753e8ee Fix typo in tests 2019-10-10 15:57:57 +02:00
Nikita Popov
93b39f68f5 Merge branch 'PHP-7.4' 2019-10-10 15:17:44 +02:00
Nikita Popov
5a076e670a Return error_zval form get_property_ptr_ptr on exception
This goes in the reverse direction of 4463acb951.
After looking around a bit, it seems that we already check for
Z_ISERROR_P() on the get_property_ptr_ptr return value in other places.
So do this in zend_fetch_property_address() as well, and also make
sure that EG(error_zval) is indeed returned on exception in
get_property_ptr_ptr.

In particular, this fixes the duplicate exceptions that we used to
get because first get_property_ptr_ptr threw one and then
read_property throws the same exception again.
2019-10-10 15:14:04 +02:00
Dmitry Stogov
833821ac24 Eliminate CHECK_VAR instructions for defined CVs 2019-10-10 16:07:31 +03:00
Nikita Popov
2118f6a898 Merge branch 'PHP-7.4' 2019-10-10 14:44:53 +02:00
Nikita Popov
4463acb951 Explicitly check for exceptions in by-ref obj prop assign
Relying on setting ERROR if an exception happened during the
property address fetch is both a bit fragile and may pessimize
other codepaths that will check for exceptions in the VM. Adding
an extra exception check instead, which should also allow us to
drop the use of ERROR in this area in master.
2019-10-10 14:41:35 +02:00
Nikita Popov
fea482ee5c Merge branch 'PHP-7.4' 2019-10-10 12:45:38 +02:00
Nikita Popov
12f4e9e020 Fix leak when property AST evaluation fails 2019-10-10 12:44:55 +02:00
Nikita Popov
f1aff654be Use php stream in exif fuzzer
This has the main benefit that we don't go through the
realpath cache, which will cause leak checking to be
disabled.
2019-10-10 12:33:15 +02:00
Nikita Popov
a748d27c9b Merge branch 'PHP-7.4' 2019-10-10 12:08:17 +02:00
Nikita Popov
f43f493e09 Also check for exception after stream_eof 2019-10-10 12:08:04 +02:00
Nikita Popov
1ab489e99a Merge branch 'PHP-7.4' 2019-10-10 11:42:05 +02:00
Nikita Popov
b02cf8b66e Merge branch 'PHP-7.3' into PHP-7.4 2019-10-10 11:41:51 +02:00
Nikita Popov
4ba8d78100 Merge branch 'PHP-7.2' into PHP-7.3 2019-10-10 11:41:29 +02:00
Nikita Popov
96c84b7bc1 Fix leak on static method call on non-existent class 2019-10-10 11:40:49 +02:00
Dmitry Stogov
6a459a8a3f Separate common code and add few more patterns 2019-10-10 12:19:06 +03:00
Nikita Popov
595e8c6773 Merge branch 'PHP-7.4' 2019-10-10 11:17:55 +02:00
Nikita Popov
6878c583b0 Report error if stream_read is not implemented
We need to return -1 in this case. Slightly restructure the code
to avoid unnecessary conditions.
2019-10-10 11:13:10 +02:00
Dmitry Stogov
0cb977a691 Fixed edge cases introduced by 170ed1f5a7 2019-10-10 11:48:31 +03:00
Nikita Popov
c1da10b77b Set display_startup_errors=0 when running skipif
Now that we're displaying errors in skipif, suppress this particular
category. Otherwise we get warnings in the SKIPIF of tests with
EXTENSION where the extension does not exist, and there's no way
to suppress them.
2019-10-10 10:43:21 +02:00
Nikita Popov
51501dacb1 Merge branch 'PHP-7.4' 2019-10-10 10:08:32 +02:00
Nikita Popov
382f9b28e8 Fix leak on "Cannot assign by reference to overloaded object" error 2019-10-10 10:07:54 +02:00
Nikita Popov
b093abcde3 Fix exception handling for call_user_func_array() with invalid type
Now that this throws an exception, the call frame cleanup will be
handled by exception handling -- remove it here to avoid double
frees.
2019-10-10 09:55:19 +02:00
Dmitry Stogov
d9964efe23 One more place 2019-10-10 02:21:37 +03:00
Dmitry Stogov
bf5d299ef4 Fixed typo 2019-10-10 02:17:50 +03:00
Dmitry Stogov
fa0a17a76f Move ECHO handling into common switch 2019-10-09 23:24:41 +03:00
Dmitry Stogov
fd69af38c8 Cleanup JMP optimization. Remove duplicate code (conditional jums with constant operand) and outdated commented code. 2019-10-09 23:07:32 +03:00
Dmitry Stogov
78a1c8c811 Cleanup JMP optimization pass 2019-10-09 22:52:09 +03:00
Nikita Popov
b53b2f3e82 Merge branch 'PHP-7.4' 2019-10-09 17:34:00 +02:00
Nikita Popov
5b44560dfc Merge branch 'PHP-7.3' into PHP-7.4 2019-10-09 17:33:52 +02:00
Nikita Popov
a0163417ef Merge branch 'PHP-7.2' into PHP-7.3 2019-10-09 17:33:44 +02:00
Nikita Popov
daf1fc6e31 Avoid float to int cast UB in exif 2019-10-09 17:33:29 +02:00
Christoph M. Becker
508a179568 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #78656: Parse errors classified as highest log-level
2019-10-09 17:30:37 +02:00
Christoph M. Becker
973617cacd Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #78656: Parse errors classified as highest log-level
2019-10-09 17:29:54 +02:00
Christoph M. Becker
bbd481c11d Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Fix #78656: Parse errors classified as highest log-level
2019-10-09 17:28:50 +02:00
Erik Lundin
3164186d53 Fix #78656: Parse errors classified as highest log-level 2019-10-09 17:27:32 +02:00
Nikita Popov
efed9f6b15 Merge branch 'PHP-7.4' 2019-10-09 17:01:02 +02:00
Nikita Popov
91eb632472 Merge branch 'PHP-7.3' into PHP-7.4 2019-10-09 17:00:55 +02:00
Nikita Popov
6fd6ad8f53 Fixed bug #78658 2019-10-09 17:00:27 +02:00
Dmitry Stogov
d37f5da75e typo and cleanup 2019-10-09 17:58:35 +03:00
Nikita Popov
cb657440b4 Merge branch 'PHP-7.4' 2019-10-09 14:58:17 +02:00
Nikita Popov
a4d7f4c3e1 Merge branch 'PHP-7.3' into PHP-7.4 2019-10-09 14:58:10 +02:00
Nikita Popov
cbf589b17c Merge branch 'PHP-7.2' into PHP-7.3 2019-10-09 14:58:01 +02:00
Nikita Popov
d6ca174d5b Remove redundant components < 0 check
components is an unsigned number, it cannot be smaller than zero.
2019-10-09 14:57:24 +02:00
Christoph M. Becker
73e9acbaff Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #78650: new COM Crash
2019-10-09 14:17:25 +02:00
Nikita Popov
9c9a833f9c Actually remove the YIELD key specialization
I only adjusted the code before, without switching to TMPVAR.
2019-10-09 14:11:07 +02:00
Christoph M. Becker
4625fa181f Fix #78650: new COM Crash
As of PHP 7.4.0, the `get_property_ptr_ptr` handler is mandatory; we
implement it to always return `NULL`, which is equivalent to not
setting the handler in former versions.

We add a portable and faster test case than what has been presented in
the bug ticket.
2019-10-09 14:09:02 +02:00
Nikita Popov
165a065a12 Reduce YIELD key specialization
Keeping the value specialization for now, which is more commonly
applicable.
2019-10-09 13:59:07 +02:00
Nikita Popov
da3b245715 Reduce YIELD_FROM specialization
Generator delegation is a complex compound operation, it does not
make a lot of sense to optimize refcounting here to this degree.
2019-10-09 13:53:07 +02:00
Nikita Popov
2aba10be4a Reduce ZEND_THROW specialization
Throwing is very expensive due to the need of gathering the backtrace,
so it makes little sense to optimize refcounting to this degree.
2019-10-09 13:17:25 +02:00