blob: 92de4b64aa24552c0b39e371b722b33ae7502ac5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
--TEST--
Modification of typed property during assignment must not leak
--FILE--
<?php
class A {
public string $prop = "";
}
class B {
public function __toString() {
global $a;
$a->prop = "dont ";
$a->prop .= "leak ";
$a->prop .= "me!";
return "test";
}
}
$a = new A;
$a->prop = new B;
var_dump($a);
$a = new A;
$prop = &$a->prop;
$a->prop = new B;
var_dump($a);
?>
--EXPECTF--
object(A)#1 (1) {
["prop"]=>
string(4) "test"
}
object(A)#%d (1) {
["prop"]=>
&string(4) "test"
}
|