protected function resolveReturnStatementTaintEnvironment(Return_ $exp, TaintEnvironment $taintEnv) { $retExp = $exp->expr; TaintEnvironment::updateTaintEnvironmentForEnvironment($retExp->environment, $taintEnv); $retExpTaint = $this->resolveExprTaint($retExp); $retEnv = $taintEnv->copy(); $retEnv->setTaintResult($exp->getLine(), $retExpTaint); $this->addReturnTaintResult($exp, $retExpTaint); return $retEnv; }
protected function getExpressionsTaintValuesForAnalysis($exprs, TaintEnvironment $taintEnv = null) { $taints = array(); foreach ($exprs as $expr) { if ($taintEnv != null) { TaintEnvironment::updateTaintEnvironmentForEnvironment($expr->environment, $taintEnv); } $taints[] = $this->resolveExprTaint($expr); } return $taints; }