You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
let tainted_vars =TaintPartialContexts.conv_varset tainted in
426
424
let new_rel =RD.keep_filter st.rel (funvar ->
427
425
matchRV.find_metadata var with
428
-
|Some (Local _) whennot (pass_to_callee fundec any_local_reachable var) -> true(* keep caller locals, provided they were not passed to the function *)
426
+
|Some (Local_) whennot (belongs_to_fundec fundec var|| any_local_reachable) -> true(* keep caller locals, provided they were not passed to the function *)
429
427
|Some (Arg _) -> true(* keep caller args *)
430
428
|Some ((Local_ | Global_)) whennot (RD.mem_var new_fun_rel var) -> false(* remove locals and globals, for which no record exists in the new_fun_apr *)
431
429
|Some ((Localv | Globalv)) whennot (TaintPartialContexts.VS.mem v tainted_vars) -> true(* keep locals and globals, which have not been touched by the call *)
0 commit comments