@@ -3244,8 +3244,10 @@ static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_BW_NOT_SPEC_CONST
3244
3244
}
3245
3245
3246
3246
SAVE_OPLINE();
3247
- bitwise_not_function(EX_VAR(opline->result.var),
3248
- RT_CONSTANT(opline, opline->op1));
3247
+ if (IS_CONST == IS_CV && UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) {
3248
+ op1 = ZVAL_UNDEFINED_OP1();
3249
+ }
3250
+ bitwise_not_function(EX_VAR(opline->result.var), op1);
3249
3251
3250
3252
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
3251
3253
}
@@ -13212,8 +13214,10 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_BW_NOT_SPEC_TMPVAR_HANDLER(ZEN
13212
13214
}
13213
13215
13214
13216
SAVE_OPLINE();
13215
- bitwise_not_function(EX_VAR(opline->result.var),
13216
- _get_zval_ptr_var(opline->op1.var, &free_op1 EXECUTE_DATA_CC));
13217
+ if ((IS_TMP_VAR|IS_VAR) == IS_CV && UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) {
13218
+ op1 = ZVAL_UNDEFINED_OP1();
13219
+ }
13220
+ bitwise_not_function(EX_VAR(opline->result.var), op1);
13217
13221
zval_ptr_dtor_nogc(free_op1);
13218
13222
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
13219
13223
}
@@ -36417,8 +36421,10 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_BW_NOT_SPEC_CV_HANDLER(ZEND_OP
36417
36421
}
36418
36422
36419
36423
SAVE_OPLINE();
36420
- bitwise_not_function(EX_VAR(opline->result.var),
36421
- _get_zval_ptr_cv_BP_VAR_R(opline->op1.var EXECUTE_DATA_CC));
36424
+ if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) {
36425
+ op1 = ZVAL_UNDEFINED_OP1();
36426
+ }
36427
+ bitwise_not_function(EX_VAR(opline->result.var), op1);
36422
36428
36423
36429
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
36424
36430
}
0 commit comments