Bug #62892 [Opn->Csd]: ReflectionClass::getTraitAliases crashes on importing trait methods as private
| From: | felipe@php.net | Date: | Wed, 22 Aug 2012 13:45:10 +0000 |
| Subject: | Bug #62892 [Opn->Csd]: ReflectionClass::getTraitAliases crashes on importing trait methods as private | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-172796@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=62892&edit=1
ID: 62892
Updated by: felipe@php.net
Reported by: r dot wilczek at web-appz dot de
Summary: ReflectionClass::getTraitAliases crashes on
importing trait methods as private
-Status: Open
+Status: Closed
Type: Bug
Package: Reflection related
Operating System: Linux
PHP Version: 5.4.6
-Assigned To:
+Assigned To: felipe
Block user comment: N
Private report: N
New Comment:
This bug has been fixed in SVN.
Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
For Windows:
http://windows.php.net/snapshots/
Thank you for the report, and for helping us make PHP better.
Previous Comments:
------------------------------------------------------------------------
[2012-08-22 13:41:00] felipe@php.net
Automatic comment on behalf of felipensp@gmail.com
Revision: http://git.php.net/?p=php-src.git;a=commit;h=7a56ac00a04d4fc72052bb679626e723da3eef44
Log: - Fixed bug #62892 (ReflectionClass::getTraitAliases crashes on importing trait methods as
private)
------------------------------------------------------------------------
[2012-08-22 12:17:09] r dot wilczek at web-appz dot de
Description:
------------
When importing a traitmethod 'as private', ReflectionClass::getTraitAliases() segfaults.
Test script:
---------------
File testme.php:
<?php
trait myTrait {
public function run() {}
}
class myClass {
use myTrait {
MyTrait::run as private;
}
}
$class = new \ReflectionClass('myClass');
$class->getTraitAliases();
?>
Commandline:
/usr/bin/php testme.php
Expected result:
----------------
no segmentation fault
Actual result:
--------------
Segmentation fault
gdb /usr/bin/php core
...
This GDB was configured as "x86_64-suse-linux".
...
Reading symbols from /usr/bin/php...done.
[New LWP 27460]
...
Core was generated by `php testme.php'.
Program terminated with signal 11, Segmentation fault.
#0 0x00000000009c7c66 in zend_symtable_update (ht=0x7f907f86f918, arKey=0x0, nKeyLength=1515870811,
pData=0x7ffff0ad0990, nDataSize=8, pDest=0x0)
at /root/php-5.4.6/Zend/zend_hash.h:350
350 /root/php-5.4.6/Zend/zend_hash.h: Datei oder Verzeichnis nicht gefunden.
in /root/php-5.4.6/Zend/zend_hash.h
bt
#0 0x00000000009c7c66 in zend_symtable_update (ht=0x7f907f86f918, arKey=0x0, nKeyLength=1515870811,
pData=0x7ffff0ad0990, nDataSize=8, pDest=0x0)
at /root/php-5.4.6/Zend/zend_hash.h:350
#1 0x00000000009ccc81 in add_assoc_stringl_ex (arg=0x7f907f86f1c0, key=0x0, key_len=1515870811,
str=0x7f907f86f238 "MyTrait::run", length=12, duplicate=0)
at /root/php-5.4.6/Zend/zend_API.c:1234
#2 0x000000000074373e in zim_reflection_class_getTraitAliases (ht=0, return_value=0x7f907f86f1c0,
return_value_ptr=0x0, this_ptr=0x7f90855eeed0,
return_value_used=0) at /root/php-5.4.6/ext/reflection/php_reflection.c:4475
#3 0x0000000000a05c70 in zend_do_fcall_common_helper_SPEC (execute_data=0x7f90855b20e8) at
/root/php-5.4.6/Zend/zend_vm_execute.h:642
#4 0x0000000000a06b1d in ZEND_DO_FCALL_BY_NAME_SPEC_HANDLER (execute_data=0x7f90855b20e8) at
/root/php-5.4.6/Zend/zend_vm_execute.h:752
#5 0x0000000000a0464f in execute (op_array=0x7f90855efec8) at
/root/php-5.4.6/Zend/zend_vm_execute.h:410
#6 0x00000000009c792a in zend_execute_scripts (type=8, retval=0x0, file_count=3) at
/root/php-5.4.6/Zend/zend.c:1289
#7 0x000000000093c7e4 in php_execute_script (primary_file=0x7ffff0ad4290) at
/root/php-5.4.6/main/main.c:2473
#8 0x0000000000b0d616 in do_cli (argc=2, argv=0x7ffff0ad4648) at
/root/php-5.4.6/sapi/cli/php_cli.c:988
#9 0x0000000000b0e6be in main (argc=2, argv=0x7ffff0ad4648) at
/root/php-5.4.6/sapi/cli/php_cli.c:1364
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=62892&edit=1