diff options
-rw-r--r-- | Zend/tests/bug75420.7.phpt | 17 | ||||
-rw-r--r-- | Zend/tests/bug75420.8.phpt | 17 |
2 files changed, 34 insertions, 0 deletions
diff --git a/Zend/tests/bug75420.7.phpt b/Zend/tests/bug75420.7.phpt new file mode 100644 index 0000000000..0b9743a880 --- /dev/null +++ b/Zend/tests/bug75420.7.phpt @@ -0,0 +1,17 @@ +--TEST-- +Bug #75420.7 (Indirect modification of magic method argument) +--FILE-- +<?php +class Test { + public function __set($x,$v) { $GLOBALS["name"] = 24; var_dump($x); } +} + +$obj = new Test; +$name = "foo"; +$name = str_repeat($name, 2); +$obj->$name = 1; +var_dump($name); +?> +--EXPECT-- +string(6) "foofoo" +int(24) diff --git a/Zend/tests/bug75420.8.phpt b/Zend/tests/bug75420.8.phpt new file mode 100644 index 0000000000..2d57c8b1cb --- /dev/null +++ b/Zend/tests/bug75420.8.phpt @@ -0,0 +1,17 @@ +--TEST-- +Bug #75420.8 (Indirect modification of magic method argument) +--FILE-- +<?php +class Test { + public function __set($x,$v) { $GLOBALS["obj"] = 24; var_dump($this); } +} + +$obj = new Test; +$name = "foo"; +$obj->$name = 1; +var_dump($obj); +?> +--EXPECT-- +object(Test)#1 (0) { +} +int(24) |