Module InferModules.BufferOverrunModels
module L = InferBase.Loggingmodule BoUtils = BufferOverrunUtilsmodule Dom = BufferOverrunDomainmodule PO = BufferOverrunProofObligationsmodule Sem = BufferOverrunSemanticsmodule Relation = BufferOverrunDomainRelationmodule Trace = BufferOverrunTracetype exec_fun= BoUtils.ModelEnv.model_env -> ret:(InferIR.Ident.t * InferIR.Typ.t) -> Dom.Mem.t -> Dom.Mem.ttype check_fun= BoUtils.ModelEnv.model_env -> Dom.Mem.t -> PO.ConditionSet.checked_t -> PO.ConditionSet.checked_ttype model={exec : exec_fun;check : check_fun;}
val no_check : 'a -> 'b -> 'c -> 'cval no_model : modelval at : ?size:InferStdlib.IStd.Int64.t -> InferIR.Exp.t -> InferIR.Exp.t -> modelval get_malloc_info : InferIR.Exp.t -> InferIR.Typ.t * InferStdlib.IStd.Int.t option * InferIR.Exp.t * InferIR.Exp.t optionval check_alloc_size : can_be_zero:bool -> InferIR.Exp.t -> BoUtils.ModelEnv.model_env -> BufferOverrunDomain.Mem.t -> PO.ConditionSet.checked_t -> PO.ConditionSet.checked_tval fgets : InferIR.Exp.t -> InferIR.Exp.t -> modelval malloc : can_be_zero:bool -> InferIR.Exp.t -> modelval calloc : InferIR.Exp.t -> InferIR.Exp.t -> can_be_zero:bool -> modelval memcpy : InferIR.Exp.t -> InferIR.Exp.t -> InferIR.Exp.t -> modelval memset : InferIR.Exp.t -> InferIR.Exp.t -> modelval eval_string_len : InferIR.Exp.t -> BufferOverrunDomain.Mem.t -> InferModules__BufferOverrunDomain.Val.tval strlen : InferIR.Exp.t -> modelval strcpy : InferIR.Exp.t -> InferIR.Exp.t -> modelval strncpy : InferIR.Exp.t -> InferIR.Exp.t -> InferIR.Exp.t -> modelval strcat : InferIR.Exp.t -> InferIR.Exp.t -> modelval realloc : InferIR.Exp.t -> InferIR.Exp.t -> modelval placement_new : InferIR.Exp.t -> (InferIR.Exp.t * InferIR.Typ.t) -> (InferIR.Exp.t * InferIR.Typ.t) option -> modelval strndup : InferIR.Exp.t -> InferIR.Exp.t -> modelval inferbo_min : InferIR.Exp.t -> InferIR.Exp.t -> modelval set_size : BoUtils.ModelEnv.model_env -> Dom.Val.t -> InferIR.Exp.t -> BufferOverrunDomain.Mem.t -> Dom.Mem.tval inferbo_set_size : InferIR.Exp.t -> InferIR.Exp.t -> modelval model_by_value : InferModules__BufferOverrunDomain.Val.t -> InferIR.Ident.t -> Dom.Mem.t -> Dom.Mem.tval range_itv_mone : InferIR.Exp.t -> BufferOverrunDomain.Mem.t -> Itv.tGiven a string of length n, return itv
-1, n_u-1.
val indexOf : InferIR.Exp.t -> modelval cast : InferIR.Exp.t -> modelval by_value : InferModules__BufferOverrunDomain.Val.t -> modelval by_risky_value_from : Trace.lib_fun -> Dom.Val.t -> modelval bottom : modelval infer_print : InferIR.Exp.t -> modelval eval_array_locs_length : AbsLoc.PowLoc.t -> 'a Dom.Mem.t0 -> Dom.Val.tval get_array_length : InferIR.Exp.t -> modelval set_array_length : (InferIR.Exp.t * InferIR.Typ.t) -> InferIR.Exp.t -> modelval snprintf : modelval vsnprintf : modelval copy : InferModules__BufferOverrunDomain.Val.t -> InferIR.Ident.t -> Dom.Mem.t -> Dom.Mem.tval create_copy_array : InferIR.Exp.t -> modelCreates a new array with the values from the given array.
module CFArray : sig ... endmodule Split : sig ... endmodule Boost : sig ... endmodule Folly : sig ... endmodule StdArray : sig ... endmodule StdBasicString : sig ... endmodule StdVector : sig ... endmodule Collection : sig ... endval unmodifiable : 'a -> InferStdlib.IStd.String.t -> bool
module Call : sig ... end