function attAspisRC(&$ret, $function = NULL) { if (is_array($ret)) { foreach ($ret as $key => &$value) { $value = attAspisRC($value, $function); $value[] = false; //the key's taint } unset($value); } else { if (is_object($ret) && ($function === "mysql_fetch_field" || $function === "mysql_fetch_object")) { foreach ($ret as $key => &$value) { if (is_object($value)) { continue; } $value = attAspisRC($value, $function); $value[] = false; //the key's taint } unset($value); // $ret=new AspisProxy($ret,true); } } return array($ret, false); }
function Aspis_unserialize($v) { $r = unserialize($v[0]); if (!is_array($r) || count($r) < 2 || $r[1] != -123456789) { $r = attAspisRC($r); } else { $r[1] = false; } return $r; }