Skip to content

Commit 3b8d8ab

Browse files
committed
Add special case for clone in fuzzer
1 parent c724dde commit 3b8d8ab

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

tools/fuzzing/target.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
/** @var PhpFuzzer\Fuzzer $fuzzer */
44

5+
use PhpParser\Node;
56
use PhpParser\Node\Expr;
67
use PhpParser\Node\Scalar;
78
use PhpParser\Node\Stmt;
@@ -95,6 +96,13 @@ public function leaveNode(PhpParser\Node $node) {
9596
) {
9697
$this->hasProblematicConstruct = true;
9798
}
99+
100+
// clone($x, ) is not preserved precisely.
101+
if ($node instanceof Expr\FuncCall && $node->name instanceof Node\Name &&
102+
$node->name->toLowerString() == 'clone' && count($node->args) == 1
103+
) {
104+
$this->hasProblematicConstruct = true;
105+
}
98106
}
99107
};
100108
$traverser = new PhpParser\NodeTraverser();

0 commit comments

Comments
 (0)