Function do_taint_analysis_on_function

Source
pub fn do_taint_analysis_on_function<'m>(
    modules: impl IntoIterator<Item = &'m Module>,
    config: &'m Config,
    start_fn_name: &str,
    args: Option<Vec<TaintedType>>,
    nonargs: HashMap<Name, TaintedType>,
    named_structs: HashMap<String, NamedStructInitialDef>,
) -> TaintResult<'m>
Expand description

The main function in this module. Given an LLVM module or modules and the name of a function to analyze, returns a TaintResult with data on that function and all functions it calls, directly or transitively.

args: the TaintedType to assign to each argument of the start function. If this is not provided, all arguments (and everything they point to, etc) will be marked untainted.

nonargs: (optional) Initial TaintedTypes for any nonargument variables in the start function. For instance, you can use this to set some variable in the middle of the function to tainted. If this map is empty, all TaintedTypes will simply be inferred normally from the argument TaintedTypes.