Edit report at http://bugs.php.net/bug.php?id=54013&edit=1

 ID:                 54013
 Updated by:         cataphr...@php.net
 Reported by:        arjen at react dot nl
 Summary:            ReflectionParam for duplicate parameter contains
                     garbage
 Status:             Open
 Type:               Bug
-Package:            Reflection related
+Package:            Scripting Engine problem
 PHP Version:        5.3.5
 Block user comment: N
 Private report:     N

 New Comment:

This appears to be unrelated to reflection. Omitting the reflection
part, valgrind says:



==6643== Invalid read of size 1

==6643==    at 0x4C25FF8: memcpy (mc_replace_strmem.c:497)

==6643==    by 0x6A8717: _estrndup (zend_alloc.c:2497)

==6643==    by 0x6B5D18: zend_do_receive_arg (zend_compile.c:1512)

==6643==    by 0x696369: zendparse (zend_language_parser.y:457)

==6643==    by 0x6A04F1: compile_file (zend_language_scanner.l:364)

==6643==    by 0x566250: phar_compile_file (phar.c:3393)

==6643==    by 0x6C43D8: zend_execute_scripts (zend.c:1186)

==6643==    by 0x671DC6: php_execute_script (main.c:2268)

==6643==    by 0x74EA6A: main (php_cli.c:1193)

==6643==  Address 0x6fe0470 is 0 bytes inside a block of size 2 free'd

==6643==    at 0x4C240FD: free (vg_replace_malloc.c:366)

==6643==    by 0x6ACD95: lookup_cv (zend_compile.c:273)

==6643==    by 0x6AED32: fetch_simple_variable_ex (zend_compile.c:388)

==6643==    by 0x69632B: zendparse (zend_language_parser.y:457)

==6643==    by 0x6A04F1: compile_file (zend_language_scanner.l:364)

==6643==    by 0x566250: phar_compile_file (phar.c:3393)

==6643==    by 0x6C43D8: zend_execute_scripts (zend.c:1186)

==6643==    by 0x671DC6: php_execute_script (main.c:2268)

==6643==    by 0x74EA6A: main (php_cli.c:1193)

==6643==


Previous Comments:
------------------------------------------------------------------------
[2011-02-14 14:52:45] arjen at react dot nl

Related to http://bugs.php.net/bug.php?id=43512

------------------------------------------------------------------------
[2011-02-14 14:52:23] arjen at react dot nl

Description:
------------
ReflectionParam object for 2nd parameter contains random value for name
property.

Test script:
---------------
<?php



class a

{

        function b($a, $a)

        {

                $params = func_get_args();

                var_dump($params, $a);

        }

}





$c = new a;

$c->b('waa?', 'meukee!');



$reflectionClass = new ReflectionClass($c);

$params = $reflectionClass->getMethod('b')->getParameters();



var_dump($params);

Expected result:
----------------
array

  0 => string 'waa?' (length=4)

  1 => string 'meukee!' (length=7)



string 'meukee!' (length=7)



array

  0 => &

    object(ReflectionParameter)[4]

      public 'name' => string 'a' (length=1)

  1 => &

    object(ReflectionParameter)[5]

      public 'name' => string 'a' (length=1)





or exception/error..

Actual result:
--------------
array

  0 => string 'waa?' (length=4)

  1 => string 'meukee!' (length=7)



string 'meukee!' (length=7)



array

  0 => &

    object(ReflectionParameter)[4]

      public 'name' => string 'a' (length=1)

  1 => &

    object(ReflectionParameter)[5]

      public 'name' => string '<<insert random byte here>>' (length=1)


------------------------------------------------------------------------



-- 
Edit this bug report at http://bugs.php.net/bug.php?id=54013&edit=1

Reply via email to