public function merge($taintResult) { parent::merge($taintResult); if ($taintResult instanceof FunctionTaintResult) { $other_params = $taintResult->getAffectingParameters(); $params = array_merge($this->affecting_params, $other_params); $this->affecting_params = $params; } }
private function mergeTaintResultsWithWithParameterTaints($resTaint, $argTaints) { if (empty($resTaint)) { return new TaintResult(Annotation::UNASSIGNED); } $taintResult = new TaintResult($resTaint->getTaint(), $resTaint->getSanitisingFunctions()); foreach ($argTaints as $paramName => $taint) { if ($resTaint->isAffectingParameter($paramName)) { $taintResult->merge($taint); } } return $taintResult; }