mirror of
https://github.com/php/php-src.git
synced 2026-04-01 05:02:27 +02:00
Merge branch 'PHP-7.0' into PHP-7.1
This commit is contained in:
12
Zend/tests/assign_to_obj_002.phpt
Normal file
12
Zend/tests/assign_to_obj_002.phpt
Normal file
@@ -0,0 +1,12 @@
|
||||
--TEST--
|
||||
Assign to $this leaks when $this not defined
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
try {
|
||||
$this->a = new stdClass;
|
||||
} catch (Error $e) { echo $e->getMessage(), "\n"; }
|
||||
|
||||
?>
|
||||
--EXPECT--
|
||||
Using $this when not in object context
|
||||
@@ -2227,6 +2227,7 @@ ZEND_VM_HANDLER(136, ZEND_ASSIGN_OBJ, VAR|UNUSED|THIS|CV, CONST|TMPVAR|CV, SPEC(
|
||||
if (OP1_TYPE == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
FREE_UNFETCHED_OP2();
|
||||
FREE_UNFETCHED_OP_DATA();
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
|
||||
@@ -18741,6 +18741,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_VAR_CONST_OP_D
|
||||
if (IS_VAR == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
|
||||
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -18897,6 +18898,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_VAR_CONST_OP_D
|
||||
if (IS_VAR == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
|
||||
zval_ptr_dtor_nogc(EX_VAR((opline+1)->op1.var));
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -19053,6 +19055,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_VAR_CONST_OP_D
|
||||
if (IS_VAR == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
|
||||
zval_ptr_dtor_nogc(EX_VAR((opline+1)->op1.var));
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -19209,6 +19212,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_VAR_CONST_OP_D
|
||||
if (IS_VAR == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
|
||||
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -23526,6 +23530,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_VAR_CV_OP_DATA
|
||||
if (IS_VAR == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
|
||||
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -23682,6 +23687,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_VAR_CV_OP_DATA
|
||||
if (IS_VAR == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
|
||||
zval_ptr_dtor_nogc(EX_VAR((opline+1)->op1.var));
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -23838,6 +23844,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_VAR_CV_OP_DATA
|
||||
if (IS_VAR == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
|
||||
zval_ptr_dtor_nogc(EX_VAR((opline+1)->op1.var));
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -23994,6 +24001,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_VAR_CV_OP_DATA
|
||||
if (IS_VAR == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
|
||||
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -26472,6 +26480,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_VAR_TMPVAR_OP_
|
||||
if (IS_VAR == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
zval_ptr_dtor_nogc(EX_VAR(opline->op2.var));
|
||||
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -26628,6 +26637,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_VAR_TMPVAR_OP_
|
||||
if (IS_VAR == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
zval_ptr_dtor_nogc(EX_VAR(opline->op2.var));
|
||||
zval_ptr_dtor_nogc(EX_VAR((opline+1)->op1.var));
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -26784,6 +26794,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_VAR_TMPVAR_OP_
|
||||
if (IS_VAR == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
zval_ptr_dtor_nogc(EX_VAR(opline->op2.var));
|
||||
zval_ptr_dtor_nogc(EX_VAR((opline+1)->op1.var));
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -26940,6 +26951,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_VAR_TMPVAR_OP_
|
||||
if (IS_VAR == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
zval_ptr_dtor_nogc(EX_VAR(opline->op2.var));
|
||||
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -28753,6 +28765,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_UNUSED_CONST_O
|
||||
if (IS_UNUSED == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
|
||||
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -28909,6 +28922,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_UNUSED_CONST_O
|
||||
if (IS_UNUSED == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
|
||||
zval_ptr_dtor_nogc(EX_VAR((opline+1)->op1.var));
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -29065,6 +29079,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_UNUSED_CONST_O
|
||||
if (IS_UNUSED == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
|
||||
zval_ptr_dtor_nogc(EX_VAR((opline+1)->op1.var));
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -29221,6 +29236,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_UNUSED_CONST_O
|
||||
if (IS_UNUSED == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
|
||||
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -31439,6 +31455,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_UNUSED_CV_OP_D
|
||||
if (IS_UNUSED == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
|
||||
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -31595,6 +31612,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_UNUSED_CV_OP_D
|
||||
if (IS_UNUSED == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
|
||||
zval_ptr_dtor_nogc(EX_VAR((opline+1)->op1.var));
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -31751,6 +31769,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_UNUSED_CV_OP_D
|
||||
if (IS_UNUSED == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
|
||||
zval_ptr_dtor_nogc(EX_VAR((opline+1)->op1.var));
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -31907,6 +31926,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_UNUSED_CV_OP_D
|
||||
if (IS_UNUSED == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
|
||||
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -33331,6 +33351,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_UNUSED_TMPVAR_
|
||||
if (IS_UNUSED == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
zval_ptr_dtor_nogc(EX_VAR(opline->op2.var));
|
||||
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -33487,6 +33508,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_UNUSED_TMPVAR_
|
||||
if (IS_UNUSED == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
zval_ptr_dtor_nogc(EX_VAR(opline->op2.var));
|
||||
zval_ptr_dtor_nogc(EX_VAR((opline+1)->op1.var));
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -33643,6 +33665,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_UNUSED_TMPVAR_
|
||||
if (IS_UNUSED == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
zval_ptr_dtor_nogc(EX_VAR(opline->op2.var));
|
||||
zval_ptr_dtor_nogc(EX_VAR((opline+1)->op1.var));
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -33799,6 +33822,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_UNUSED_TMPVAR_
|
||||
if (IS_UNUSED == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
zval_ptr_dtor_nogc(EX_VAR(opline->op2.var));
|
||||
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -38453,6 +38477,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_CV_CONST_OP_DA
|
||||
if (IS_CV == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
|
||||
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -38609,6 +38634,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_CV_CONST_OP_DA
|
||||
if (IS_CV == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
|
||||
zval_ptr_dtor_nogc(EX_VAR((opline+1)->op1.var));
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -38765,6 +38791,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_CV_CONST_OP_DA
|
||||
if (IS_CV == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
|
||||
zval_ptr_dtor_nogc(EX_VAR((opline+1)->op1.var));
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -38921,6 +38948,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_CV_CONST_OP_DA
|
||||
if (IS_CV == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
|
||||
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -45373,6 +45401,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_CV_CV_OP_DATA_
|
||||
if (IS_CV == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
|
||||
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -45529,6 +45558,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_CV_CV_OP_DATA_
|
||||
if (IS_CV == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
|
||||
zval_ptr_dtor_nogc(EX_VAR((opline+1)->op1.var));
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -45685,6 +45715,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_CV_CV_OP_DATA_
|
||||
if (IS_CV == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
|
||||
zval_ptr_dtor_nogc(EX_VAR((opline+1)->op1.var));
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -45841,6 +45872,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_CV_CV_OP_DATA_
|
||||
if (IS_CV == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
|
||||
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -49446,6 +49478,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_CV_TMPVAR_OP_D
|
||||
if (IS_CV == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
zval_ptr_dtor_nogc(EX_VAR(opline->op2.var));
|
||||
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -49602,6 +49635,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_CV_TMPVAR_OP_D
|
||||
if (IS_CV == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
zval_ptr_dtor_nogc(EX_VAR(opline->op2.var));
|
||||
zval_ptr_dtor_nogc(EX_VAR((opline+1)->op1.var));
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -49758,6 +49792,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_CV_TMPVAR_OP_D
|
||||
if (IS_CV == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
zval_ptr_dtor_nogc(EX_VAR(opline->op2.var));
|
||||
zval_ptr_dtor_nogc(EX_VAR((opline+1)->op1.var));
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
@@ -49914,6 +49949,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_OBJ_SPEC_CV_TMPVAR_OP_D
|
||||
if (IS_CV == IS_UNUSED && UNEXPECTED(Z_TYPE_P(object) == IS_UNDEF)) {
|
||||
zend_throw_error(NULL, "Using $this when not in object context");
|
||||
zval_ptr_dtor_nogc(EX_VAR(opline->op2.var));
|
||||
|
||||
HANDLE_EXCEPTION();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user