Skip to content

Commit

Permalink
rebase onto master, rename test folder, small change
Browse files Browse the repository at this point in the history
- in base, the tainted set is filtered, so that completely new values from callee are not in the tainted set and copied again
  • Loading branch information
FelixKrayer committed Feb 15, 2023
1 parent 09a4052 commit 1b2dc24
Show file tree
Hide file tree
Showing 12 changed files with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions src/analyses/base.ml
Original file line number Diff line number Diff line change
Expand Up @@ -2302,6 +2302,8 @@ struct
(* add variables from callee that are not in caller yet *)
let cpa_new = CPA.filter (fun x _ -> not (CPA.mem x cpa_caller)) cpa_noreturn in
let cpa_caller' = CPA.fold CPA.add cpa_new cpa_caller in
(* remove lvals from the tainted set that correspond to variables for which we just added a new mapping from the callee*)
let tainted = Q.LS.filter (fun (v, _) -> not (CPA.mem v cpa_new)) tainted in
let st_combined = combine_st ctx {st with cpa = cpa_caller'} fun_st tainted in
if M.tracing then M.trace "taintPC" "combined: %a\n" CPA.pretty st_combined.cpa;
{ fun_st with cpa = st_combined.cpa }
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 comments on commit 1b2dc24

Please sign in to comment.