Pulselib.PulseTaintItemMatcher
type taint_match = {
taint : Pulselib.PulseBasicInterface.TaintItem.t;
value_origin : Pulselib.PulseBasicInterface.ValueOrigin.t;
typ : IR.Typ.t;
exp : IR.Exp.t option;
}
val procedure_matches :
IR.Tenv.t ->
Pulselib.PulseBasicInterface.TaintConfig.Unit.procedure_unit list ->
?block_passed_to:IR.Procname.t ->
?proc_attributes:IR.ProcAttributes.t ->
IR.Procname.t ->
'a Absint.ProcnameDispatcher.Call.FuncArg.t list ->
Pulselib.PulseBasicInterface.TaintConfig.Unit.procedure_unit list
val procedure_matches_any :
IR.Tenv.t ->
IR.Procname.t ->
IR.ProcAttributes.t option ->
Pulselib.PulseBasicInterface.TaintConfig.Unit.procedure_unit list ->
bool
val procedure_matching_kinds :
IR.Tenv.t ->
IR.Procname.t ->
IR.ProcAttributes.t option ->
Pulselib.PulseBasicInterface.TaintConfig.Unit.procedure_unit list ->
Pulselib.PulseBasicInterface.TaintConfig.Kind.Set.t
val match_procedure_call :
IR.Tenv.t ->
Pulselib.PulseDomainInterface.PathContext.t ->
IBase.Location.t ->
?proc_attributes:IR.ProcAttributes.t ->
has_added_return_param:bool ->
IR.Procname.t ->
Pulselib.PulseBasicInterface.ValueOrigin.t
Absint.ProcnameDispatcher.Call.FuncArg.t
list ->
(IR.Ident.t * IR.Typ.t) ->
Pulselib.PulseBasicInterface.TaintConfig.Unit.procedure_unit list ->
Pulselib.PulseDomainInterface.AbductiveDomain.t ->
Pulselib.PulseDomainInterface.AbductiveDomain.t * taint_match list
val match_procedure :
IR.Tenv.t ->
IR.ProcAttributes.t ->
Pulselib.PulseBasicInterface.ValueOrigin.t
Absint.ProcnameDispatcher.Call.FuncArg.t
list ->
Pulselib.PulseBasicInterface.TaintConfig.Unit.procedure_unit list ->
Pulselib.PulseDomainInterface.AbductiveDomain.t ->
Pulselib.PulseDomainInterface.AbductiveDomain.t * taint_match list
val match_block :
IR.Tenv.t ->
IBase.Location.t ->
?proc_attributes:IR.ProcAttributes.t ->
IR.Procname.t ->
Pulselib.PulseBasicInterface.ValueOrigin.t
Absint.ProcnameDispatcher.Call.FuncArg.t
list ->
Pulselib.PulseBasicInterface.TaintConfig.Unit.procedure_unit list ->
Pulselib.PulseDomainInterface.AbductiveDomain.t ->
Pulselib.PulseDomainInterface.AbductiveDomain.t * taint_match list
val match_field :
IR.Tenv.t ->
IBase.Location.t ->
IR.Fieldname.t ->
Pulselib.PulseBasicInterface.ValueOrigin.t
Absint.ProcnameDispatcher.Call.FuncArg.t ->
Pulselib.PulseBasicInterface.TaintConfig.Unit.field_unit list ->
Pulselib.PulseDomainInterface.AbductiveDomain.t ->
Pulselib.PulseDomainInterface.AbductiveDomain.t * taint_match list