Dmitry Stogov
a55441615c
Merge branch 'PHP-8.1'
...
* PHP-8.1:
typo
2022-08-29 17:13:23 +03:00
Dmitry Stogov
4845d7026a
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
typo
2022-08-29 17:13:16 +03:00
Dmitry Stogov
263a07e5b0
typo
2022-08-29 17:12:57 +03:00
Dmitry Stogov
218da70bcf
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fix memory leak
2022-08-29 14:54:49 +03:00
Dmitry Stogov
172ac0a48d
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix memory leak
2022-08-29 14:54:40 +03:00
Dmitry Stogov
4135e6011c
Fix memory leak
...
Fixes oss-fuzz #50616
2022-08-29 14:53:48 +03:00
Dmitry Stogov
4b884bedc8
JIT: Fix missing type store
...
Fixes oss-fuzz #50653
2022-08-29 14:36:16 +03:00
Dmitry Stogov
567213c32a
Drop range inference for IS_NULL/IS_FALSE/IS_TRUE.
...
These values not always converted to IS_LONG (e.g. by -- and ++) and
this leads to incorrect range inferene and later to incorrect JIT code
generation.
2022-08-23 11:22:31 +03:00
Dmitry Stogov
e10d2c2bf9
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fix type inference
2022-08-22 21:12:49 +03:00
Dmitry Stogov
95befc786a
Fix type inference
...
Fixes oss-fuzz #50272
2022-08-22 21:11:39 +03:00
Dmitry Stogov
a5d84ba0d8
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Tracing JIT: Fix incorrect guard elimination
2022-08-22 15:42:28 +03:00
Dmitry Stogov
5762fc52c6
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Tracing JIT: Fix incorrect guard elimination
2022-08-22 15:39:47 +03:00
Dmitry Stogov
c9c51eb1f1
Tracing JIT: Fix incorrect guard elimination
...
Fixes oss-fuzz #49917
2022-08-22 15:38:41 +03:00
Arnaud Le Blanc
bccda7eb1c
Extended map_ptr before copying class table ( #9188 )
...
Fixes GH-9164
2022-08-01 19:25:07 +02:00
Arnaud Le Blanc
a69708382a
Extended map_ptr before copying class table ( #9188 )
...
Fixes GH-9164
2022-08-01 19:21:34 +02:00
Dmitry Stogov
fac37347ce
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fix incorrect guard motion out of the loop
2022-08-01 15:33:50 +03:00
Dmitry Stogov
69c10aed58
Fix incorrect guard motion out of the loop
...
Fixes oss-fuzz #49579
2022-08-01 15:32:49 +03:00
Dmitry Stogov
21507ef28a
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fix SSA reconstruction when body of "foreach" loop is removed
2022-08-01 14:01:34 +03:00
Dmitry Stogov
4b19b85eb6
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix SSA reconstruction when body of "foreach" loop is removed
2022-08-01 14:01:11 +03:00
Dmitry Stogov
af1a7b7b72
Fix SSA reconstruction when body of "foreach" loop is removed
...
Fixes oss-fuzz #49483
2022-08-01 14:00:19 +03:00
Dmitry Stogov
87cf05e8be
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fix type inference
2022-07-25 15:55:15 +03:00
Dmitry Stogov
d50875c822
Fix type inference
...
Fixes oss-fuzz #49423 and #49474
2022-07-25 15:53:06 +03:00
Dmitry Stogov
9d52081741
Merge branch 'PHP-8.1'
...
* PHP-8.1:
JIT: Fix missing type stote
2022-07-25 15:25:08 +03:00
Dmitry Stogov
e70d282077
JIT: Fix missing type stote
...
Fixes oss-fuzz #49402
2022-07-25 15:24:26 +03:00
Dmitry Stogov
4227fddf4d
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fix memory leak
2022-07-25 12:08:09 +03:00
Dmitry Stogov
cc465ba0bb
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix memory leak
2022-07-25 12:08:00 +03:00
Dmitry Stogov
44b86aee31
Fix memory leak
...
Fixes oss-fuzz #49272
2022-07-25 12:04:46 +03:00
Dmitry Stogov
f24548e217
Fix invalid free() during type persistence
...
Fixes oss-fuzz #49042
2022-07-18 15:11:02 +03:00
Dmitry Stogov
71814e9d99
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fix type inference
2022-07-18 14:20:41 +03:00
Dmitry Stogov
82d3ad64df
Fix type inference
...
Fixes oss-fuzz #48908
2022-07-18 14:20:06 +03:00
Arnaud Le Blanc
02a0a8ae26
Merge branch 'PHP-8.1'
...
* PHP-8.1:
[ci skip] NEWS
Fix JIT crash with large number of match/switch arms (#8961 )
2022-07-18 12:36:13 +02:00
Arnaud Le Blanc
f2381ae4ba
Fix JIT crash with large number of match/switch arms ( #8961 )
...
Switch statements may generate a large number of exit points. Once the max
number of exit points is reached, get_exit_addr() returns NULL. This was not
checked, and this resulted in a jump table with some 0 addresses.
2022-07-18 12:34:20 +02:00
Dmitry Stogov
26d890e6ba
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fix type inference for FETCH_DI_UNSET
2022-07-18 13:15:12 +03:00
Dmitry Stogov
b734d45626
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix type inference for FETCH_DI_UNSET
2022-07-18 13:15:03 +03:00
Dmitry Stogov
bd30eff5de
Fix type inference for FETCH_DI_UNSET
...
Fixes oss-fuzz #48507
2022-07-18 13:14:15 +03:00
Ilija Tovilo
40908b10fc
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Disallow assigning reference to unset readonly property
2022-07-01 12:20:32 +02:00
Ilija Tovilo
110573726b
Disallow assigning reference to unset readonly property
...
Closes GH-7942
Closes GH-8188
2022-07-01 12:16:32 +02:00
Dmitry Stogov
7e32033331
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fixed bug GH-8847 (PHP hanging infinitly at 100% cpu when check php syntaxe of a valid file)
2022-06-29 12:16:20 +03:00
Dmitry Stogov
b7693360cb
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fixed bug GH-8847 (PHP hanging infinitly at 100% cpu when check php syntaxe of a valid file)
2022-06-29 12:13:03 +03:00
Dmitry Stogov
7cf6f17383
Fixed bug GH-8847 (PHP hanging infinitly at 100% cpu when check php syntaxe of a valid file)
2022-06-29 12:10:46 +03:00
Dmitry Stogov
7e23c838e2
Fixed Bug GH-8863: RW operation on readonly property doesn't throw with JIT
2022-06-27 16:41:53 +03:00
Dmitry Stogov
ad40fffd36
Fixed Bug GH-8863: RW operation on readonly property doesn't throw with JIT
2022-06-27 14:25:30 +03:00
Dmitry Stogov
fa75bd0785
Fix incorrect constant propagation for VERIFY_RETURN_TYPE
...
This fixes oss-fuzz #48104
2022-06-20 11:30:07 +03:00
Dmitry Stogov
3d4a55fea1
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fix memory leak
2022-06-20 11:00:41 +03:00
Dmitry Stogov
ee17296e7b
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Fix memory leak
2022-06-20 11:00:32 +03:00
Dmitry Stogov
229e80c6ef
Fix memory leak
...
This fixes oss-fuzz #48051
2022-06-20 10:59:37 +03:00
Arnaud Le Blanc
efc8f0ebf8
Deprecate zend_atol() / add zend_ini_parse_quantity() ( #7951 )
...
Add zend_ini_parse_quantity() and deprecate zend_atol(), zend_atoi()
zend_atol() and zend_atoi() don't just do number parsing.
They also check for a 'K', 'M', or 'G' at the end of the string,
and multiply the parsed value out accordingly.
Unfortunately, they ignore any other non-numerics between the
numeric component and the last character in the string.
This means that numbers such as the following are both valid
and non-intuitive in their final output.
* "123KMG" is interpreted as "123G" -> 132070244352
* "123G " is interpreted as "123 " -> 123
* "123GB" is interpreted as "123B" -> 123
* "123 I like tacos." is also interpreted as "123." -> 123
Currently, in php-src these functions are used only for parsing ini values.
In this change we deprecate zend_atol(), zend_atoi(), and introduce a new
function with the same behavior, but with the ability to report invalid inputs
to the caller. The function's name also makes the behavior less unexpected:
zend_ini_parse_quantity().
Co-authored-by: Sara Golemon <pollita@php.net >
2022-06-17 14:12:53 +02:00
Dmitry Stogov
187319b257
Merge branch 'PHP-8.1'
...
* PHP-8.1:
JIT: Fix missing register store
2022-06-14 13:59:55 +03:00
Dmitry Stogov
70e0e1ada6
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
JIT: Fix missing register store
2022-06-14 13:59:47 +03:00
Dmitry Stogov
1cd8074743
JIT: Fix missing register store
...
This fixes oss-fuzz #48023
2022-06-14 13:57:44 +03:00