mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Fixed crash of invalid pointer derefer
This commit is contained in:
parent
e04500ceda
commit
653abc670b
1 changed files with 2 additions and 2 deletions
|
@ -2361,12 +2361,12 @@ static zend_always_inline void i_cleanup_unfinished_execution(zend_execute_data
|
||||||
{
|
{
|
||||||
if (EX(func)->op_array.T_liveliness
|
if (EX(func)->op_array.T_liveliness
|
||||||
&& op_num < EX(func)->op_array.last
|
&& op_num < EX(func)->op_array.last
|
||||||
&& EX(func)->op_array.T_liveliness[op_num] != (uint32_t) - 1) {
|
&& EX(func)->op_array.T_liveliness[op_num] != (uint32_t)-1) {
|
||||||
uint32_t *off = EX(func)->op_array.T_liveliness + EX(func)->op_array.T_liveliness[op_num];
|
uint32_t *off = EX(func)->op_array.T_liveliness + EX(func)->op_array.T_liveliness[op_num];
|
||||||
uint32_t *catch_off = NULL;
|
uint32_t *catch_off = NULL;
|
||||||
uint32_t var = *off;
|
uint32_t var = *off;
|
||||||
|
|
||||||
if (catch_op_num) {
|
if (catch_op_num && EX(func)->op_array.T_liveliness[catch_op_num] != (uint32_t)-1) {
|
||||||
catch_off = EX(func)->op_array.T_liveliness + EX(func)->op_array.T_liveliness[catch_op_num];
|
catch_off = EX(func)->op_array.T_liveliness + EX(func)->op_array.T_liveliness[catch_op_num];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue