<?php

function fsource()
{
    return "<script> attack!\n";
}
class ctainted
{
    function msource()
    {
        $a = "aa" + "bb";
        return "<script> attack!\n";
    }
}
$v = fsource();
echo $v;
$o = new ctainted();
$v = $o->msource();
echo $v;
$n = "fsource";
$v = $n();
echo $v;
$o = new ctainted();
$n = "msource";
$v = $o->{$n}();
echo $v;
function fffuntainted()
{
    $o = new ctainted();
    $s = "hello";
    $o->fref($s)->fref($s)->fref($s);
    $o->fref($s)->fref($s);
    $o->fref($s);
    $o->fref($s, " from nick");
    echo "Call-by-ref in an object method: {$s}\n";
    $o = new cuntainted();
    $s = "hello";
    $o->fref($s)->fref($s)->fref($s);
    $o->fref($s)->fref($s);
    $o->fref($s);
    $o->fref($s, " from nick");
    echo "Call-by-ref in an object method: {$s}\n";
}