Skip to content

Commit 96288cc

Browse files
Taint: Pull up special function
1 parent 58db021 commit 96288cc

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

src/analyses/tutorials/taint.ml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,15 @@ struct
7171
(* Nothing needs to be done *)
7272
man.local
7373

74+
(** For a call to a _special_ function f "lval = f(args)" or "f(args)",
75+
computes the caller state after the function call.
76+
For this analysis, source and sink functions will be considered _special_ and have to be treated here. *)
77+
let special man (lval: lval option) (f:varinfo) (arglist:exp list) : D.t =
78+
let caller_state = man.local in
79+
(* TODO: Check if f is a sink / source and handle it appropriately *)
80+
(* To warn about a potential issue in the code, use M.warn. *)
81+
caller_state
82+
7483
(** Handles going from start node of function [f] into the function body of [f].
7584
Meant to handle e.g. initializiation of local variables. *)
7685
let body man (f:fundec) : D.t =
@@ -120,15 +129,6 @@ struct
120129
(* TODO: Record whether lval was tainted. *)
121130
caller_state
122131

123-
(** For a call to a _special_ function f "lval = f(args)" or "f(args)",
124-
computes the caller state after the function call.
125-
For this analysis, source and sink functions will be considered _special_ and have to be treated here. *)
126-
let special man (lval: lval option) (f:varinfo) (arglist:exp list) : D.t =
127-
let caller_state = man.local in
128-
(* TODO: Check if f is a sink / source and handle it appropriately *)
129-
(* To warn about a potential issue in the code, use M.warn. *)
130-
caller_state
131-
132132
(* You may leave these alone *)
133133
let startstate v = D.bot ()
134134
let threadenter man ~multiple lval f args = [D.top ()]

0 commit comments

Comments
 (0)