Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
 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;
 }