mirror of
https://github.com/php/php-src.git
synced 2025-08-18 06:58:55 +02:00
Fix memory leak with return types upon failure
TMP/VAR wasn't being freed in VERIFY_RETURN
This commit is contained in:
parent
5bec1490f9
commit
f7f7d6e385
2 changed files with 18 additions and 0 deletions
|
@ -3909,6 +3909,9 @@ ZEND_VM_HANDLER(124, ZEND_VERIFY_RETURN_TYPE, CONST|TMP|VAR|UNUSED|CV, UNUSED)
|
|||
}
|
||||
}
|
||||
zend_verify_return_type(EX(func), retval_ptr);
|
||||
if (EG(exception)) {
|
||||
FREE_OP1();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
CHECK_EXCEPTION();
|
||||
|
|
|
@ -7815,6 +7815,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_VERIFY_RETURN_TYPE_SPEC_CONST_
|
|||
}
|
||||
}
|
||||
zend_verify_return_type(EX(func), retval_ptr);
|
||||
if (EG(exception)) {
|
||||
|
||||
}
|
||||
#endif
|
||||
}
|
||||
CHECK_EXCEPTION();
|
||||
|
@ -13437,6 +13440,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_VERIFY_RETURN_TYPE_SPEC_TMP_UN
|
|||
}
|
||||
}
|
||||
zend_verify_return_type(EX(func), retval_ptr);
|
||||
if (EG(exception)) {
|
||||
zval_ptr_dtor_nogc(free_op1);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
CHECK_EXCEPTION();
|
||||
|
@ -19195,6 +19201,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_VERIFY_RETURN_TYPE_SPEC_VAR_UN
|
|||
}
|
||||
}
|
||||
zend_verify_return_type(EX(func), retval_ptr);
|
||||
if (EG(exception)) {
|
||||
zval_ptr_dtor_nogc(free_op1);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
CHECK_EXCEPTION();
|
||||
|
@ -25140,6 +25149,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_VERIFY_RETURN_TYPE_SPEC_UNUSED
|
|||
}
|
||||
}
|
||||
zend_verify_return_type(EX(func), retval_ptr);
|
||||
if (EG(exception)) {
|
||||
|
||||
}
|
||||
#endif
|
||||
}
|
||||
CHECK_EXCEPTION();
|
||||
|
@ -34786,6 +34798,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_VERIFY_RETURN_TYPE_SPEC_CV_UNU
|
|||
}
|
||||
}
|
||||
zend_verify_return_type(EX(func), retval_ptr);
|
||||
if (EG(exception)) {
|
||||
|
||||
}
|
||||
#endif
|
||||
}
|
||||
CHECK_EXCEPTION();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue