Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

--TEST-- Bug#56662 - Wrong access level with RUNKIT_ACC_PUBLIC --SKIPIF-- <?php if(!extens..

Decoded Output download

--TEST--
Bug#56662 - Wrong access level with RUNKIT_ACC_PUBLIC
--SKIPIF--
<?php if(!extension_loaded("runkit")) print "skip"; ?>
--FILE--
<?php
class A {}
runkit_method_add ('A', 'x', '', '', RUNKIT_ACC_PUBLIC);
Reflection::export(new ReflectionMethod('A', 'x'));

class B extends A { public function x() {} }
Reflection::export(new ReflectionMethod('B', 'x'));

eval("class C extends A { public function x() {} }");
Reflection::export(new ReflectionMethod('C', 'x'));

--EXPECTF--
Method [ <user%S> public method x ] {
  @@ %sbug56662.php(3) : runkit runtime-created function 1 - 1
}

Method [ <user, overwrites A%S> public method x ] {
  @@ %sbug56662.php 6 - 6
}

Method [ <user, overwrites A, prototype A> public method x ] {
  @@ %sbug56662.php(9) : eval()'d code 1 - 1
}
 ?>

Did this file decode correctly?

Original Code

--TEST--
Bug#56662 - Wrong access level with RUNKIT_ACC_PUBLIC
--SKIPIF--
<?php if(!extension_loaded("runkit")) print "skip"; ?>
--FILE--
<?php
class A {}
runkit_method_add ('A', 'x', '', '', RUNKIT_ACC_PUBLIC);
Reflection::export(new ReflectionMethod('A', 'x'));

class B extends A { public function x() {} }
Reflection::export(new ReflectionMethod('B', 'x'));

eval("class C extends A { public function x() {} }");
Reflection::export(new ReflectionMethod('C', 'x'));

--EXPECTF--
Method [ <user%S> public method x ] {
  @@ %sbug56662.php(3) : runkit runtime-created function 1 - 1
}

Method [ <user, overwrites A%S> public method x ] {
  @@ %sbug56662.php 6 - 6
}

Method [ <user, overwrites A, prototype A> public method x ] {
  @@ %sbug56662.php(9) : eval()'d code 1 - 1
}

Function Calls

None

Variables

None

Stats

MD5 d58a110f80765bdbdd08648878ed4f62
Eval Count 0
Decode Time 107 ms