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