"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "interprocedural_analyses/taint/model.ml" between
pyre-check-0.0.54.tar.gz and pyre-check-0.0.55.tar.gz

About: Pyre is a performant type checker for Python (ships with Pysa, a security focused static analysis tool).

model.ml  (pyre-check-0.0.54):model.ml  (pyre-check-0.0.55)
skipping to change at line 64 skipping to change at line 64
match Interprocedural.Fixpoint.get_model call_target with match Interprocedural.Fixpoint.get_model call_target with
| None -> { is_obscure = true; call_target; model = TaintResult.empty_model } | None -> { is_obscure = true; call_target; model = TaintResult.empty_model }
| Some model -> | Some model ->
let expand_via_value_of let expand_via_value_of
{ forward = { source_taint }; backward = { sink_taint; taint_in_taint_ out }; mode } { forward = { source_taint }; backward = { sink_taint; taint_in_taint_ out }; mode }
= =
let expand features = let expand features =
let transform feature = let transform feature =
let open Features in let open Features in
match feature.Abstract.OverUnderSetDomain.element with match feature.Abstract.OverUnderSetDomain.element with
| Simple.ViaValueOf { position } -> | Simple.ViaValueOf { position; tag } ->
List.nth arguments position List.nth arguments position
>>= fun argument -> >>= fun argument ->
Simple.via_value_of_breadcrumb ~argument |> SimpleSet.inject |> Simple.via_value_of_breadcrumb ?tag ~argument |> SimpleSet.injec
Option.return t |> Option.return
| Simple.ViaTypeOf { position } -> | Simple.ViaTypeOf { position; tag } ->
List.nth arguments position List.nth arguments position
>>= fun argument -> >>= fun argument ->
Simple.via_type_of_breadcrumb ~resolution ~argument Simple.via_type_of_breadcrumb ?tag ~resolution ~argument
|> SimpleSet.inject |> SimpleSet.inject
|> Option.return |> Option.return
| _ -> Some feature | _ -> Some feature
in in
List.filter_map features ~f:transform List.filter_map features ~f:transform
in in
let source_taint = let source_taint =
ForwardState.transform ForwardState.transform
ForwardTaint.simple_feature_set ForwardTaint.simple_feature_set
Abstract.Domain.(Map expand) Abstract.Domain.(Map expand)
 End of changes. 3 change blocks. 
5 lines changed or deleted 5 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)