diff options
author | John Boehr <jbboehr@gmail.com> | 2016-09-21 20:09:45 -0700 |
---|---|---|
committer | Nikita Popov <nikic@php.net> | 2016-09-22 12:32:37 +0200 |
commit | 8e313becf4190a8cdc4ef52a1efdbce475f51ae0 (patch) | |
tree | 37346f7212994d48f7ede762ac791ca9d5c87697 /Zend/tests/traits | |
parent | 01759c43463c30b57c15e32c5f4b454fba81f039 (diff) | |
download | php-git-8e313becf4190a8cdc4ef52a1efdbce475f51ae0.tar.gz |
Fix bug #69579
Diffstat (limited to 'Zend/tests/traits')
-rw-r--r-- | Zend/tests/traits/bug69579.phpt | 20 | ||||
-rw-r--r-- | Zend/tests/traits/get_declared_traits_001.phpt | 6 | ||||
-rw-r--r-- | Zend/tests/traits/get_declared_traits_002.phpt | 6 | ||||
-rw-r--r-- | Zend/tests/traits/get_declared_traits_003.phpt | 8 |
4 files changed, 31 insertions, 9 deletions
diff --git a/Zend/tests/traits/bug69579.phpt b/Zend/tests/traits/bug69579.phpt new file mode 100644 index 0000000000..421734e74e --- /dev/null +++ b/Zend/tests/traits/bug69579.phpt @@ -0,0 +1,20 @@ +--TEST-- +Bug #69579 (Internal trait double-free) +--SKIPIF-- +<?php +if (!PHP_DEBUG) die("skip only run in debug version"); +?> +--FILE-- +<?php + +class Bar{ + use _ZendTestTrait; +} + +$bar = new Bar(); +var_dump($bar->testMethod()); +// destruction causes a double-free and explodes + +?> +--EXPECT-- +bool(true) diff --git a/Zend/tests/traits/get_declared_traits_001.phpt b/Zend/tests/traits/get_declared_traits_001.phpt index 91f6b3d20a..b1faec3de8 100644 --- a/Zend/tests/traits/get_declared_traits_001.phpt +++ b/Zend/tests/traits/get_declared_traits_001.phpt @@ -12,8 +12,8 @@ final class e { } var_dump(get_declared_traits()); ?> ---EXPECT-- -array(1) { - [0]=> +--EXPECTF-- +array(%d) {%A + [%d]=> string(1) "c" } diff --git a/Zend/tests/traits/get_declared_traits_002.phpt b/Zend/tests/traits/get_declared_traits_002.phpt index 74fdcc4082..73dd73c927 100644 --- a/Zend/tests/traits/get_declared_traits_002.phpt +++ b/Zend/tests/traits/get_declared_traits_002.phpt @@ -13,8 +13,8 @@ namespace test { } ?> ---EXPECT-- -array(1) { - [0]=> +--EXPECTF-- +array(%d) {%A + [%d]=> string(6) "test\c" } diff --git a/Zend/tests/traits/get_declared_traits_003.phpt b/Zend/tests/traits/get_declared_traits_003.phpt index 4a687467f2..edae3f1933 100644 --- a/Zend/tests/traits/get_declared_traits_003.phpt +++ b/Zend/tests/traits/get_declared_traits_003.phpt @@ -13,13 +13,15 @@ var_dump(get_declared_traits()); ?> --EXPECTF-- -%astring(1) "a" +array(%d) {%A + [%d]=> + string(1) "a" [%d]=> string(1) "d" [%d]=> string(1) "e" } -array(1) { - [0]=> +array(%d) {%A + [%d]=> string(1) "c" } |