svf-tools 1.0.875 → 1.0.877
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/SVF-doxygen/html/AbstractExecution_8cpp.html +218 -0
- package/SVF-doxygen/html/AbstractExecution_8cpp_source.html +2124 -0
- package/SVF-doxygen/html/AbstractExecution_8h.html +118 -0
- package/SVF-doxygen/html/AbstractExecution_8h_source.html +512 -0
- package/SVF-doxygen/html/BufOverflowChecker_8cpp_source.html +81 -81
- package/SVF-doxygen/html/BufOverflowChecker_8h.html +1 -1
- package/SVF-doxygen/html/BufOverflowChecker_8h_source.html +20 -20
- package/SVF-doxygen/html/CFBasicBlockGBuilder_8cpp_source.html +3 -3
- package/SVF-doxygen/html/CFBasicBlockGBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/CFBasicBlockGWTO_8h_source.html +2 -2
- package/SVF-doxygen/html/CFBasicBlockG_8h_source.html +318 -367
- package/SVF-doxygen/html/ae_8cpp.html +7 -7
- package/SVF-doxygen/html/ae_8cpp_source.html +7 -7
- package/SVF-doxygen/html/annotated.html +12 -12
- package/SVF-doxygen/html/classSVF_1_1AEAPI-members.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1AEAPI.html +145 -145
- package/SVF-doxygen/html/classSVF_1_1AEStat-members.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1AEStat.html +53 -53
- package/SVF-doxygen/html/classSVF_1_1AbstractExecution-members.html +137 -0
- package/SVF-doxygen/html/classSVF_1_1AbstractExecution.html +2884 -0
- package/SVF-doxygen/html/classSVF_1_1AbstractExecution.png +0 -0
- package/SVF-doxygen/html/classSVF_1_1BufOverflowChecker-members.html +50 -50
- package/SVF-doxygen/html/classSVF_1_1BufOverflowChecker.html +117 -117
- package/SVF-doxygen/html/classSVF_1_1BufOverflowChecker.png +0 -0
- package/SVF-doxygen/html/classSVF_1_1BufOverflowCheckerAPI-members.html +3 -3
- package/SVF-doxygen/html/classSVF_1_1BufOverflowCheckerAPI.html +38 -38
- package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGBuilder.html +2 -2
- package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGWTO.html +1 -1
- package/SVF-doxygen/html/classSVF_1_1CFBasicBlockGraph.html +92 -92
- package/SVF-doxygen/html/classSVF_1_1CFBasicBlockNode-members.html +8 -8
- package/SVF-doxygen/html/classSVF_1_1CFBasicBlockNode.html +51 -309
- package/SVF-doxygen/html/classSVF_1_1GenericNode.html +8 -8
- package/SVF-doxygen/html/classes.html +16 -16
- package/SVF-doxygen/html/dir_81caa96ab1d3de93b353e2bbe80e6067.html +1 -1
- package/SVF-doxygen/html/dir_fbec400583b4bd6c5f2e89c86c5943a6.html +1 -1
- package/SVF-doxygen/html/files.html +2 -2
- package/SVF-doxygen/html/functions.html +21 -21
- package/SVF-doxygen/html/functions_a.html +17 -17
- package/SVF-doxygen/html/functions_b.html +1 -1
- package/SVF-doxygen/html/functions_c.html +16 -16
- package/SVF-doxygen/html/functions_d.html +7 -11
- package/SVF-doxygen/html/functions_e.html +1 -1
- package/SVF-doxygen/html/functions_func.html +13 -13
- package/SVF-doxygen/html/functions_func_c.html +11 -11
- package/SVF-doxygen/html/functions_func_d.html +7 -11
- package/SVF-doxygen/html/functions_func_e.html +1 -1
- package/SVF-doxygen/html/functions_func_g.html +1 -1
- package/SVF-doxygen/html/functions_func_h.html +11 -11
- package/SVF-doxygen/html/functions_func_i.html +8 -8
- package/SVF-doxygen/html/functions_func_m.html +1 -1
- package/SVF-doxygen/html/functions_func_n.html +1 -1
- package/SVF-doxygen/html/functions_func_r.html +2 -2
- package/SVF-doxygen/html/functions_func_s.html +2 -2
- package/SVF-doxygen/html/functions_func_w.html +1 -1
- package/SVF-doxygen/html/functions_func_~.html +3 -3
- package/SVF-doxygen/html/functions_g.html +1 -1
- package/SVF-doxygen/html/functions_h.html +11 -11
- package/SVF-doxygen/html/functions_i.html +8 -8
- package/SVF-doxygen/html/functions_m.html +1 -1
- package/SVF-doxygen/html/functions_n.html +1 -1
- package/SVF-doxygen/html/functions_p.html +7 -7
- package/SVF-doxygen/html/functions_r.html +6 -8
- package/SVF-doxygen/html/functions_rela.html +2 -2
- package/SVF-doxygen/html/functions_s.html +10 -8
- package/SVF-doxygen/html/functions_t.html +7 -7
- package/SVF-doxygen/html/functions_type_c.html +1 -1
- package/SVF-doxygen/html/functions_v.html +1 -3
- package/SVF-doxygen/html/functions_vars.html +21 -21
- package/SVF-doxygen/html/functions_w.html +1 -1
- package/SVF-doxygen/html/functions_~.html +3 -3
- package/SVF-doxygen/html/globals.html +2 -2
- package/SVF-doxygen/html/globals_defs.html +1 -1
- package/SVF-doxygen/html/globals_s.html +1 -1
- package/SVF-doxygen/html/globals_vars.html +2 -2
- package/SVF-doxygen/html/hierarchy.html +12 -12
- package/SVF-doxygen/html/namespaceSVF.html +9 -9
- package/SVF-doxygen/html/search/all_0.js +21 -21
- package/SVF-doxygen/html/search/all_1.js +503 -502
- package/SVF-doxygen/html/search/all_10.js +325 -325
- package/SVF-doxygen/html/search/all_11.js +228 -228
- package/SVF-doxygen/html/search/all_12.js +569 -569
- package/SVF-doxygen/html/search/all_13.js +208 -208
- package/SVF-doxygen/html/search/all_14.js +69 -69
- package/SVF-doxygen/html/search/all_15.js +176 -176
- package/SVF-doxygen/html/search/all_16.js +78 -78
- package/SVF-doxygen/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/search/all_18.js +1 -1
- package/SVF-doxygen/html/search/all_19.js +26 -26
- package/SVF-doxygen/html/search/all_1a.js +182 -182
- package/SVF-doxygen/html/search/all_2.js +182 -182
- package/SVF-doxygen/html/search/all_3.js +654 -654
- package/SVF-doxygen/html/search/all_4.js +237 -237
- package/SVF-doxygen/html/search/all_5.js +128 -128
- package/SVF-doxygen/html/search/all_6.js +232 -232
- package/SVF-doxygen/html/search/all_7.js +1060 -1060
- package/SVF-doxygen/html/search/all_8.js +217 -217
- package/SVF-doxygen/html/search/all_9.js +628 -628
- package/SVF-doxygen/html/search/all_a.js +46 -46
- package/SVF-doxygen/html/search/all_b.js +26 -26
- package/SVF-doxygen/html/search/all_c.js +115 -115
- package/SVF-doxygen/html/search/all_d.js +203 -203
- package/SVF-doxygen/html/search/all_e.js +209 -209
- package/SVF-doxygen/html/search/all_f.js +121 -121
- package/SVF-doxygen/html/search/classes_0.js +29 -29
- package/SVF-doxygen/html/search/classes_1.js +12 -12
- package/SVF-doxygen/html/search/classes_10.js +74 -74
- package/SVF-doxygen/html/search/classes_11.js +14 -14
- package/SVF-doxygen/html/search/classes_12.js +2 -2
- package/SVF-doxygen/html/search/classes_13.js +10 -10
- package/SVF-doxygen/html/search/classes_14.js +20 -20
- package/SVF-doxygen/html/search/classes_15.js +1 -1
- package/SVF-doxygen/html/search/classes_2.js +78 -78
- package/SVF-doxygen/html/search/classes_3.js +37 -37
- package/SVF-doxygen/html/search/classes_4.js +9 -9
- package/SVF-doxygen/html/search/classes_5.js +28 -28
- package/SVF-doxygen/html/search/classes_6.js +104 -104
- package/SVF-doxygen/html/search/classes_7.js +38 -38
- package/SVF-doxygen/html/search/classes_8.js +58 -58
- package/SVF-doxygen/html/search/classes_9.js +1 -1
- package/SVF-doxygen/html/search/classes_a.js +12 -12
- package/SVF-doxygen/html/search/classes_b.js +29 -29
- package/SVF-doxygen/html/search/classes_c.js +6 -6
- package/SVF-doxygen/html/search/classes_d.js +19 -19
- package/SVF-doxygen/html/search/classes_e.js +36 -36
- package/SVF-doxygen/html/search/classes_f.js +25 -25
- package/SVF-doxygen/html/search/defines_0.js +3 -3
- package/SVF-doxygen/html/search/defines_1.js +3 -3
- package/SVF-doxygen/html/search/defines_10.js +2 -2
- package/SVF-doxygen/html/search/defines_2.js +30 -30
- package/SVF-doxygen/html/search/defines_3.js +20 -20
- package/SVF-doxygen/html/search/defines_4.js +3 -3
- package/SVF-doxygen/html/search/defines_5.js +4 -4
- package/SVF-doxygen/html/search/defines_6.js +2 -2
- package/SVF-doxygen/html/search/defines_7.js +5 -5
- package/SVF-doxygen/html/search/defines_8.js +11 -11
- package/SVF-doxygen/html/search/defines_9.js +9 -9
- package/SVF-doxygen/html/search/defines_a.js +2 -2
- package/SVF-doxygen/html/search/defines_b.js +1 -1
- package/SVF-doxygen/html/search/defines_c.js +4 -4
- package/SVF-doxygen/html/search/defines_d.js +2 -2
- package/SVF-doxygen/html/search/defines_e.js +8 -8
- package/SVF-doxygen/html/search/defines_f.js +4 -4
- package/SVF-doxygen/html/search/enums_0.js +4 -4
- package/SVF-doxygen/html/search/enums_1.js +2 -2
- package/SVF-doxygen/html/search/enums_10.js +1 -1
- package/SVF-doxygen/html/search/enums_11.js +1 -1
- package/SVF-doxygen/html/search/enums_2.js +8 -8
- package/SVF-doxygen/html/search/enums_3.js +1 -1
- package/SVF-doxygen/html/search/enums_4.js +4 -4
- package/SVF-doxygen/html/search/enums_5.js +1 -1
- package/SVF-doxygen/html/search/enums_6.js +2 -2
- package/SVF-doxygen/html/search/enums_7.js +2 -2
- package/SVF-doxygen/html/search/enums_8.js +4 -4
- package/SVF-doxygen/html/search/enums_9.js +1 -1
- package/SVF-doxygen/html/search/enums_a.js +1 -1
- package/SVF-doxygen/html/search/enums_b.js +7 -7
- package/SVF-doxygen/html/search/enums_c.js +1 -1
- package/SVF-doxygen/html/search/enums_d.js +4 -4
- package/SVF-doxygen/html/search/enums_e.js +2 -2
- package/SVF-doxygen/html/search/enums_f.js +4 -4
- package/SVF-doxygen/html/search/enumvalues_0.js +15 -15
- package/SVF-doxygen/html/search/enumvalues_1.js +15 -15
- package/SVF-doxygen/html/search/enumvalues_10.js +35 -35
- package/SVF-doxygen/html/search/enumvalues_11.js +4 -4
- package/SVF-doxygen/html/search/enumvalues_12.js +10 -10
- package/SVF-doxygen/html/search/enumvalues_13.js +1 -1
- package/SVF-doxygen/html/search/enumvalues_14.js +1 -1
- package/SVF-doxygen/html/search/enumvalues_15.js +3 -3
- package/SVF-doxygen/html/search/enumvalues_2.js +36 -36
- package/SVF-doxygen/html/search/enumvalues_3.js +13 -13
- package/SVF-doxygen/html/search/enumvalues_4.js +2 -2
- package/SVF-doxygen/html/search/enumvalues_5.js +47 -47
- package/SVF-doxygen/html/search/enumvalues_6.js +6 -6
- package/SVF-doxygen/html/search/enumvalues_7.js +8 -8
- package/SVF-doxygen/html/search/enumvalues_8.js +23 -23
- package/SVF-doxygen/html/search/enumvalues_9.js +6 -6
- package/SVF-doxygen/html/search/enumvalues_a.js +17 -17
- package/SVF-doxygen/html/search/enumvalues_b.js +11 -11
- package/SVF-doxygen/html/search/enumvalues_c.js +5 -5
- package/SVF-doxygen/html/search/enumvalues_d.js +18 -18
- package/SVF-doxygen/html/search/enumvalues_e.js +9 -9
- package/SVF-doxygen/html/search/enumvalues_f.js +47 -47
- package/SVF-doxygen/html/search/files_0.js +16 -15
- package/SVF-doxygen/html/search/files_1.js +9 -9
- package/SVF-doxygen/html/search/files_10.js +8 -8
- package/SVF-doxygen/html/search/files_11.js +8 -8
- package/SVF-doxygen/html/search/files_12.js +2 -2
- package/SVF-doxygen/html/search/files_2.js +58 -58
- package/SVF-doxygen/html/search/files_3.js +14 -14
- package/SVF-doxygen/html/search/files_4.js +5 -5
- package/SVF-doxygen/html/search/files_5.js +13 -13
- package/SVF-doxygen/html/search/files_6.js +10 -10
- package/SVF-doxygen/html/search/files_7.js +15 -15
- package/SVF-doxygen/html/search/files_8.js +13 -13
- package/SVF-doxygen/html/search/files_9.js +18 -18
- package/SVF-doxygen/html/search/files_a.js +3 -3
- package/SVF-doxygen/html/search/files_b.js +4 -4
- package/SVF-doxygen/html/search/files_c.js +20 -20
- package/SVF-doxygen/html/search/files_d.js +4 -4
- package/SVF-doxygen/html/search/files_e.js +62 -62
- package/SVF-doxygen/html/search/files_f.js +8 -8
- package/SVF-doxygen/html/search/functions_0.js +13 -13
- package/SVF-doxygen/html/search/functions_1.js +374 -374
- package/SVF-doxygen/html/search/functions_10.js +140 -140
- package/SVF-doxygen/html/search/functions_11.js +142 -142
- package/SVF-doxygen/html/search/functions_12.js +298 -298
- package/SVF-doxygen/html/search/functions_13.js +74 -74
- package/SVF-doxygen/html/search/functions_14.js +40 -40
- package/SVF-doxygen/html/search/functions_15.js +72 -72
- package/SVF-doxygen/html/search/functions_16.js +38 -38
- package/SVF-doxygen/html/search/functions_17.js +3 -3
- package/SVF-doxygen/html/search/functions_18.js +182 -182
- package/SVF-doxygen/html/search/functions_2.js +95 -95
- package/SVF-doxygen/html/search/functions_3.js +266 -266
- package/SVF-doxygen/html/search/functions_4.js +84 -84
- package/SVF-doxygen/html/search/functions_5.js +57 -57
- package/SVF-doxygen/html/search/functions_6.js +65 -65
- package/SVF-doxygen/html/search/functions_7.js +867 -867
- package/SVF-doxygen/html/search/functions_8.js +164 -164
- package/SVF-doxygen/html/search/functions_9.js +440 -440
- package/SVF-doxygen/html/search/functions_a.js +30 -30
- package/SVF-doxygen/html/search/functions_b.js +2 -2
- package/SVF-doxygen/html/search/functions_c.js +25 -25
- package/SVF-doxygen/html/search/functions_d.js +81 -81
- package/SVF-doxygen/html/search/functions_e.js +36 -36
- package/SVF-doxygen/html/search/functions_f.js +58 -58
- package/SVF-doxygen/html/search/namespaces_0.js +1 -1
- package/SVF-doxygen/html/search/namespaces_1.js +7 -7
- package/SVF-doxygen/html/search/related_0.js +4 -4
- package/SVF-doxygen/html/search/related_1.js +2 -2
- package/SVF-doxygen/html/search/related_2.js +3 -3
- package/SVF-doxygen/html/search/related_3.js +2 -2
- package/SVF-doxygen/html/search/related_4.js +2 -2
- package/SVF-doxygen/html/search/related_5.js +1 -1
- package/SVF-doxygen/html/search/related_6.js +2 -2
- package/SVF-doxygen/html/search/related_7.js +4 -4
- package/SVF-doxygen/html/search/related_8.js +2 -2
- package/SVF-doxygen/html/search/related_9.js +4 -4
- package/SVF-doxygen/html/search/related_a.js +19 -19
- package/SVF-doxygen/html/search/related_b.js +4 -4
- package/SVF-doxygen/html/search/related_c.js +2 -2
- package/SVF-doxygen/html/search/related_d.js +12 -12
- package/SVF-doxygen/html/search/related_e.js +2 -2
- package/SVF-doxygen/html/search/related_f.js +2 -2
- package/SVF-doxygen/html/search/typedefs_0.js +20 -20
- package/SVF-doxygen/html/search/typedefs_1.js +27 -27
- package/SVF-doxygen/html/search/typedefs_10.js +63 -63
- package/SVF-doxygen/html/search/typedefs_11.js +13 -13
- package/SVF-doxygen/html/search/typedefs_12.js +11 -11
- package/SVF-doxygen/html/search/typedefs_13.js +40 -40
- package/SVF-doxygen/html/search/typedefs_14.js +11 -11
- package/SVF-doxygen/html/search/typedefs_2.js +129 -129
- package/SVF-doxygen/html/search/typedefs_3.js +39 -39
- package/SVF-doxygen/html/search/typedefs_4.js +18 -18
- package/SVF-doxygen/html/search/typedefs_5.js +42 -42
- package/SVF-doxygen/html/search/typedefs_6.js +57 -57
- package/SVF-doxygen/html/search/typedefs_7.js +47 -47
- package/SVF-doxygen/html/search/typedefs_8.js +1 -1
- package/SVF-doxygen/html/search/typedefs_9.js +6 -6
- package/SVF-doxygen/html/search/typedefs_a.js +29 -29
- package/SVF-doxygen/html/search/typedefs_b.js +29 -29
- package/SVF-doxygen/html/search/typedefs_c.js +41 -41
- package/SVF-doxygen/html/search/typedefs_d.js +14 -14
- package/SVF-doxygen/html/search/typedefs_e.js +52 -52
- package/SVF-doxygen/html/search/typedefs_f.js +14 -14
- package/SVF-doxygen/html/search/variables_0.js +182 -182
- package/SVF-doxygen/html/search/variables_1.js +76 -76
- package/SVF-doxygen/html/search/variables_10.js +98 -98
- package/SVF-doxygen/html/search/variables_11.js +46 -46
- package/SVF-doxygen/html/search/variables_12.js +93 -93
- package/SVF-doxygen/html/search/variables_13.js +76 -76
- package/SVF-doxygen/html/search/variables_14.js +14 -14
- package/SVF-doxygen/html/search/variables_15.js +49 -49
- package/SVF-doxygen/html/search/variables_16.js +11 -11
- package/SVF-doxygen/html/search/variables_17.js +1 -1
- package/SVF-doxygen/html/search/variables_18.js +17 -17
- package/SVF-doxygen/html/search/variables_2.js +41 -41
- package/SVF-doxygen/html/search/variables_3.js +142 -142
- package/SVF-doxygen/html/search/variables_4.js +51 -51
- package/SVF-doxygen/html/search/variables_5.js +39 -39
- package/SVF-doxygen/html/search/variables_6.js +66 -66
- package/SVF-doxygen/html/search/variables_7.js +34 -34
- package/SVF-doxygen/html/search/variables_8.js +8 -8
- package/SVF-doxygen/html/search/variables_9.js +78 -78
- package/SVF-doxygen/html/search/variables_a.js +4 -4
- package/SVF-doxygen/html/search/variables_b.js +10 -10
- package/SVF-doxygen/html/search/variables_c.js +45 -45
- package/SVF-doxygen/html/search/variables_d.js +57 -57
- package/SVF-doxygen/html/search/variables_e.js +123 -123
- package/SVF-doxygen/html/search/variables_f.js +31 -31
- package/SVF-doxygen/html/structSVF_1_1DOTGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html +102 -102
- package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01Inverse_3_01SVF_1_1CFBasicBlockNode_01_5_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockGraph_01_5_01_4.html +2 -2
- package/SVF-doxygen/html/structSVF_1_1GenericGraphTraits_3_01SVF_1_1CFBasicBlockNode_01_5_01_4.html +1 -1
- package/build.sh +1 -1
- package/package.json +1 -1
- package/svf/include/AE/Svfexe/{AE.h → AbstractExecution.h} +13 -14
- package/svf/include/AE/Svfexe/BufOverflowChecker.h +5 -5
- package/svf/include/Graphs/CFBasicBlockG.h +0 -43
- package/svf/lib/AE/Svfexe/{AE.cpp → AbstractExecution.cpp} +33 -33
- package/svf/lib/AE/Svfexe/BufOverflowChecker.cpp +2 -2
- package/svf-llvm/tools/AE/ae.cpp +1 -1
|
@@ -131,14 +131,14 @@ $(function() {
|
|
|
131
131
|
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  </div>
|
|
132
132
|
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="classSVF_1_1BufOverflowChecker.html#a0b79c3694a08100d2d8d1b8109998131"> 61</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1BufOverflowChecker.html#a0b79c3694a08100d2d8d1b8109998131">BufOverflowChecker::handleSVFStatement</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStmt.html">SVFStmt</a> *stmt)</div>
|
|
133
133
|
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> {</div>
|
|
134
|
-
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <a class="code" href="
|
|
134
|
+
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <a class="code" href="classSVF_1_1AbstractExecution.html#a1d725fe50a7084bfa18bd47b941af885">AbstractExecution::handleSVFStatement</a>(stmt);</div>
|
|
135
135
|
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="comment">// for gep stmt, add the gep stmt to the addrToGep map</span></div>
|
|
136
136
|
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep = SVFUtil::dyn_cast<GepStmt>(stmt))</div>
|
|
137
137
|
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  {</div>
|
|
138
|
-
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> addrID: <a class="code" href="
|
|
138
|
+
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keywordflow">for</span> (<a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> addrID: <a class="code" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">_svfir2ExeState</a>-><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(gep->getLHSVarID()))</div>
|
|
139
139
|
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  {</div>
|
|
140
|
-
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> objId = <a class="code" href="
|
|
141
|
-
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keywordflow">if</span> (<span class="keyword">auto</span>* extapi = SVFUtil::dyn_cast<BufOverflowCheckerAPI>(<a class="code" href="
|
|
140
|
+
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <a class="code" href="namespaceSVF.html#a43a65e0d33af3c743294f7a1139d2301">NodeID</a> objId = <a class="code" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">_svfir2ExeState</a>-><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(addrID);</div>
|
|
141
|
+
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keywordflow">if</span> (<span class="keyword">auto</span>* extapi = SVFUtil::dyn_cast<BufOverflowCheckerAPI>(<a class="code" href="classSVF_1_1AbstractExecution.html#a26f8c21bd96ae22ca2e72af6fbfa410c">_api</a>))</div>
|
|
142
142
|
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  extapi->_addrToGep[objId] = gep;</div>
|
|
143
143
|
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  }</div>
|
|
144
144
|
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  }</div>
|
|
@@ -207,11 +207,11 @@ $(function() {
|
|
|
207
207
|
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <span class="keyword">auto</span> sse_scanf = [&](<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> &cs)</div>
|
|
208
208
|
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  {</div>
|
|
209
209
|
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="comment">//scanf("%d", &data);</span></div>
|
|
210
|
-
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <a class="code" href="classSVF_1_1BufOverflowChecker.html">BufOverflowChecker</a>* ae = SVFUtil::dyn_cast<BufOverflowChecker>(<a class="code" href="classSVF_1_1AEAPI.html#
|
|
210
|
+
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <a class="code" href="classSVF_1_1BufOverflowChecker.html">BufOverflowChecker</a>* ae = SVFUtil::dyn_cast<BufOverflowChecker>(<a class="code" href="classSVF_1_1AEAPI.html#a33b63d79de59e0015097c43978162ded">_ae</a>);</div>
|
|
211
211
|
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keywordflow">if</span> (cs.arg_size() < 2) <span class="keywordflow">return</span>;</div>
|
|
212
|
-
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &es = ae-><a class="code" href="
|
|
212
|
+
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &es = ae-><a class="code" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">_svfir2ExeState</a>-><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a56434326130c8127c823097ad764947b">getEs</a>();</div>
|
|
213
213
|
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> dst_id = <a class="code" href="classSVF_1_1AEAPI.html#ae983d887ccf66c7f21b4712b37ab5f60">_svfir</a>-><a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(cs.getArgument(1));</div>
|
|
214
|
-
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keywordflow">if</span> (!ae-><a class="code" href="
|
|
214
|
+
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keywordflow">if</span> (!ae-><a class="code" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">_svfir2ExeState</a>-><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(dst_id))</div>
|
|
215
215
|
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  {</div>
|
|
216
216
|
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <a class="code" href="structSVF_1_1BufOverflowException.html">BufOverflowException</a> bug(<span class="stringliteral">"scanf may cause buffer overflow.\n"</span>, 0, 0, 0, 0, cs.getArgument(1));</div>
|
|
217
217
|
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  ae-><a class="code" href="classSVF_1_1BufOverflowChecker.html#a7c11b81809cb087317cbea654a589f75">addBugToRecoder</a>(bug, <a class="code" href="classSVF_1_1AEAPI.html#ae983d887ccf66c7f21b4712b37ab5f60">_svfir</a>-><a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>()-><a class="code" href="classSVF_1_1ICFG.html#a5f2c0aaba07d6fdd63058da0fb60ca8b">getICFGNode</a>(cs.getInstruction()));</div>
|
|
@@ -219,11 +219,11 @@ $(function() {
|
|
|
219
219
|
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  }</div>
|
|
220
220
|
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">else</span></div>
|
|
221
221
|
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  {</div>
|
|
222
|
-
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <a class="code" href="classSVF_1_1AddressValue.html">Addrs</a> <a class="code" href="classSVF_1_1AddressValue.html">Addrs</a> = ae-><a class="code" href="
|
|
222
|
+
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <a class="code" href="classSVF_1_1AddressValue.html">Addrs</a> <a class="code" href="classSVF_1_1AddressValue.html">Addrs</a> = ae-><a class="code" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">_svfir2ExeState</a>-><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(dst_id);</div>
|
|
223
223
|
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> vaddr: <a class="code" href="classSVF_1_1AddressValue.html">Addrs</a>)</div>
|
|
224
224
|
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  {</div>
|
|
225
|
-
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = ae-><a class="code" href="
|
|
226
|
-
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> range = ae-><a class="code" href="
|
|
225
|
+
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = ae-><a class="code" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">_svfir2ExeState</a>-><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(vaddr);</div>
|
|
226
|
+
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> range = ae-><a class="code" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">_svfir2ExeState</a>-><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#afbb9ff1f2c47d2afda117bf63a80a1a7">getRangeLimitFromType</a>(<a class="code" href="classSVF_1_1AEAPI.html#ae983d887ccf66c7f21b4712b37ab5f60">_svfir</a>-><a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(objId)-><a class="code" href="classSVF_1_1SVFVar.html#ab6f95d3e7e099d75cfc9645ebc037047">getType</a>());</div>
|
|
227
227
|
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  es.<a class="code" href="classSVF_1_1IntervalESBase.html#adb26b186ee31bce7449a7b36faa24cc2">store</a>(vaddr, range);</div>
|
|
228
228
|
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  }</div>
|
|
229
229
|
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  }</div>
|
|
@@ -231,11 +231,11 @@ $(function() {
|
|
|
231
231
|
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <span class="keyword">auto</span> sse_fscanf = [&](<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> &cs)</div>
|
|
232
232
|
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  {</div>
|
|
233
233
|
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="comment">//fscanf(stdin, "%d", &data);</span></div>
|
|
234
|
-
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <a class="code" href="classSVF_1_1BufOverflowChecker.html">BufOverflowChecker</a>* ae = SVFUtil::dyn_cast<BufOverflowChecker>(<a class="code" href="classSVF_1_1AEAPI.html#
|
|
234
|
+
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <a class="code" href="classSVF_1_1BufOverflowChecker.html">BufOverflowChecker</a>* ae = SVFUtil::dyn_cast<BufOverflowChecker>(<a class="code" href="classSVF_1_1AEAPI.html#a33b63d79de59e0015097c43978162ded">_ae</a>);</div>
|
|
235
235
|
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="keywordflow">if</span> (cs.arg_size() < 3) <span class="keywordflow">return</span>;</div>
|
|
236
|
-
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &es = ae-><a class="code" href="
|
|
236
|
+
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &es = ae-><a class="code" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">_svfir2ExeState</a>-><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a56434326130c8127c823097ad764947b">getEs</a>();</div>
|
|
237
237
|
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> dst_id = <a class="code" href="classSVF_1_1AEAPI.html#ae983d887ccf66c7f21b4712b37ab5f60">_svfir</a>-><a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(cs.getArgument(2));</div>
|
|
238
|
-
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keywordflow">if</span> (!ae-><a class="code" href="
|
|
238
|
+
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keywordflow">if</span> (!ae-><a class="code" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">_svfir2ExeState</a>-><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(dst_id))</div>
|
|
239
239
|
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  {</div>
|
|
240
240
|
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  <a class="code" href="structSVF_1_1BufOverflowException.html">BufOverflowException</a> bug(<span class="stringliteral">"scanf may cause buffer overflow.\n"</span>, 0, 0, 0, 0, cs.getArgument(2));</div>
|
|
241
241
|
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  ae-><a class="code" href="classSVF_1_1BufOverflowChecker.html#a7c11b81809cb087317cbea654a589f75">addBugToRecoder</a>(bug, <a class="code" href="classSVF_1_1AEAPI.html#ae983d887ccf66c7f21b4712b37ab5f60">_svfir</a>-><a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>()-><a class="code" href="classSVF_1_1ICFG.html#a5f2c0aaba07d6fdd63058da0fb60ca8b">getICFGNode</a>(cs.getInstruction()));</div>
|
|
@@ -243,11 +243,11 @@ $(function() {
|
|
|
243
243
|
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  }</div>
|
|
244
244
|
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="keywordflow">else</span></div>
|
|
245
245
|
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  {</div>
|
|
246
|
-
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <a class="code" href="classSVF_1_1AddressValue.html">Addrs</a> <a class="code" href="classSVF_1_1AddressValue.html">Addrs</a> = ae-><a class="code" href="
|
|
246
|
+
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <a class="code" href="classSVF_1_1AddressValue.html">Addrs</a> <a class="code" href="classSVF_1_1AddressValue.html">Addrs</a> = ae-><a class="code" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">_svfir2ExeState</a>-><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(dst_id);</div>
|
|
247
247
|
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> vaddr: <a class="code" href="classSVF_1_1AddressValue.html">Addrs</a>)</div>
|
|
248
248
|
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  {</div>
|
|
249
|
-
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = ae-><a class="code" href="
|
|
250
|
-
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> range = ae-><a class="code" href="
|
|
249
|
+
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = ae-><a class="code" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">_svfir2ExeState</a>-><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(vaddr);</div>
|
|
250
|
+
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> range = ae-><a class="code" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">_svfir2ExeState</a>-><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#afbb9ff1f2c47d2afda117bf63a80a1a7">getRangeLimitFromType</a>(<a class="code" href="classSVF_1_1AEAPI.html#ae983d887ccf66c7f21b4712b37ab5f60">_svfir</a>-><a class="code" href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">getGNode</a>(objId)-><a class="code" href="classSVF_1_1SVFVar.html#ab6f95d3e7e099d75cfc9645ebc037047">getType</a>());</div>
|
|
251
251
|
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  es.<a class="code" href="classSVF_1_1IntervalESBase.html#adb26b186ee31bce7449a7b36faa24cc2">store</a>(vaddr, range);</div>
|
|
252
252
|
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  }</div>
|
|
253
253
|
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  }</div>
|
|
@@ -264,9 +264,9 @@ $(function() {
|
|
|
264
264
|
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  </div>
|
|
265
265
|
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keyword">auto</span> sse_fread = [&](<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> &cs)</div>
|
|
266
266
|
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  {</div>
|
|
267
|
-
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <a class="code" href="classSVF_1_1BufOverflowChecker.html">BufOverflowChecker</a>* ae = SVFUtil::dyn_cast<BufOverflowChecker>(<a class="code" href="classSVF_1_1AEAPI.html#
|
|
267
|
+
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <a class="code" href="classSVF_1_1BufOverflowChecker.html">BufOverflowChecker</a>* ae = SVFUtil::dyn_cast<BufOverflowChecker>(<a class="code" href="classSVF_1_1AEAPI.html#a33b63d79de59e0015097c43978162ded">_ae</a>);</div>
|
|
268
268
|
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="keywordflow">if</span> (cs.arg_size() < 3) <span class="keywordflow">return</span>;</div>
|
|
269
|
-
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &es = ae-><a class="code" href="
|
|
269
|
+
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &es = ae-><a class="code" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">_svfir2ExeState</a>-><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a56434326130c8127c823097ad764947b">getEs</a>();</div>
|
|
270
270
|
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> block_count_id = <a class="code" href="classSVF_1_1AEAPI.html#ae983d887ccf66c7f21b4712b37ab5f60">_svfir</a>-><a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(cs.getArgument(2));</div>
|
|
271
271
|
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> block_size_id = <a class="code" href="classSVF_1_1AEAPI.html#ae983d887ccf66c7f21b4712b37ab5f60">_svfir</a>-><a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(cs.getArgument(1));</div>
|
|
272
272
|
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> block_count = es[block_count_id];</div>
|
|
@@ -283,9 +283,9 @@ $(function() {
|
|
|
283
283
|
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  </div>
|
|
284
284
|
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <span class="keyword">auto</span> sse_snprintf = [&](<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> &cs)</div>
|
|
285
285
|
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  {</div>
|
|
286
|
-
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <a class="code" href="classSVF_1_1BufOverflowChecker.html">BufOverflowChecker</a>* ae = SVFUtil::dyn_cast<BufOverflowChecker>(<a class="code" href="classSVF_1_1AEAPI.html#
|
|
286
|
+
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <a class="code" href="classSVF_1_1BufOverflowChecker.html">BufOverflowChecker</a>* ae = SVFUtil::dyn_cast<BufOverflowChecker>(<a class="code" href="classSVF_1_1AEAPI.html#a33b63d79de59e0015097c43978162ded">_ae</a>);</div>
|
|
287
287
|
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">if</span> (cs.arg_size() < 2) <span class="keywordflow">return</span>;</div>
|
|
288
|
-
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &es = ae-><a class="code" href="
|
|
288
|
+
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &es = ae-><a class="code" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">_svfir2ExeState</a>-><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a56434326130c8127c823097ad764947b">getEs</a>();</div>
|
|
289
289
|
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> size_id = <a class="code" href="classSVF_1_1AEAPI.html#ae983d887ccf66c7f21b4712b37ab5f60">_svfir</a>-><a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(cs.getArgument(1));</div>
|
|
290
290
|
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> dst_id = <a class="code" href="classSVF_1_1AEAPI.html#ae983d887ccf66c7f21b4712b37ab5f60">_svfir</a>-><a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(cs.getArgument(0));</div>
|
|
291
291
|
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="comment">// get elem size of arg2</span></div>
|
|
@@ -333,9 +333,9 @@ $(function() {
|
|
|
333
333
|
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  {</div>
|
|
334
334
|
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="comment">// itoa(num, ch, 10);</span></div>
|
|
335
335
|
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="comment">// num: int, ch: char*, 10 is decimal</span></div>
|
|
336
|
-
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <a class="code" href="classSVF_1_1BufOverflowChecker.html">BufOverflowChecker</a>* ae = SVFUtil::dyn_cast<BufOverflowChecker>(<a class="code" href="classSVF_1_1AEAPI.html#
|
|
336
|
+
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <a class="code" href="classSVF_1_1BufOverflowChecker.html">BufOverflowChecker</a>* ae = SVFUtil::dyn_cast<BufOverflowChecker>(<a class="code" href="classSVF_1_1AEAPI.html#a33b63d79de59e0015097c43978162ded">_ae</a>);</div>
|
|
337
337
|
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keywordflow">if</span> (cs.arg_size() < 3) <span class="keywordflow">return</span>;</div>
|
|
338
|
-
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &es = ae-><a class="code" href="
|
|
338
|
+
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &es = ae-><a class="code" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">_svfir2ExeState</a>-><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a56434326130c8127c823097ad764947b">getEs</a>();</div>
|
|
339
339
|
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> num_id = <a class="code" href="classSVF_1_1AEAPI.html#ae983d887ccf66c7f21b4712b37ab5f60">_svfir</a>-><a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(cs.getArgument(0));</div>
|
|
340
340
|
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  </div>
|
|
341
341
|
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> num = (<a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a>) es[num_id].getNumeral();</div>
|
|
@@ -348,10 +348,10 @@ $(function() {
|
|
|
348
348
|
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="keyword">auto</span> sse_strlen = [&](<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> &cs)</div>
|
|
349
349
|
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  {</div>
|
|
350
350
|
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="comment">// check the arg size</span></div>
|
|
351
|
-
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <a class="code" href="classSVF_1_1BufOverflowChecker.html">BufOverflowChecker</a>* ae = SVFUtil::dyn_cast<BufOverflowChecker>(<a class="code" href="classSVF_1_1AEAPI.html#
|
|
351
|
+
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <a class="code" href="classSVF_1_1BufOverflowChecker.html">BufOverflowChecker</a>* ae = SVFUtil::dyn_cast<BufOverflowChecker>(<a class="code" href="classSVF_1_1AEAPI.html#a33b63d79de59e0015097c43978162ded">_ae</a>);</div>
|
|
352
352
|
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <span class="keywordflow">if</span> (cs.arg_size() < 1) <span class="keywordflow">return</span>;</div>
|
|
353
353
|
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* strValue = cs.getArgument(0);</div>
|
|
354
|
-
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &es = ae-><a class="code" href="
|
|
354
|
+
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &es = ae-><a class="code" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">_svfir2ExeState</a>-><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a56434326130c8127c823097ad764947b">getEs</a>();</div>
|
|
355
355
|
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> dst_size = <a class="code" href="classSVF_1_1AEAPI.html#ae0519df0b6927a2d077c3d46beeaa9f7">getStrlen</a>(strValue);</div>
|
|
356
356
|
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> elemSize = 1;</div>
|
|
357
357
|
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="keywordflow">if</span> (strValue-><a class="code" href="classSVF_1_1SVFValue.html#a11f2d9b6e969ede6fca2c204cc15b821">getType</a>()-><a class="code" href="classSVF_1_1SVFType.html#a330084f9a3deb6e5acb52a8ee3eb7fe4">isArrayTy</a>())</div>
|
|
@@ -371,9 +371,9 @@ $(function() {
|
|
|
371
371
|
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <span class="keyword">auto</span> sse_recv = [&](<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> &cs)</div>
|
|
372
372
|
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  {</div>
|
|
373
373
|
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="comment">// recv(sockfd, buf, len, flags);</span></div>
|
|
374
|
-
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <a class="code" href="classSVF_1_1BufOverflowChecker.html">BufOverflowChecker</a>* ae = SVFUtil::dyn_cast<BufOverflowChecker>(<a class="code" href="classSVF_1_1AEAPI.html#
|
|
374
|
+
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <a class="code" href="classSVF_1_1BufOverflowChecker.html">BufOverflowChecker</a>* ae = SVFUtil::dyn_cast<BufOverflowChecker>(<a class="code" href="classSVF_1_1AEAPI.html#a33b63d79de59e0015097c43978162ded">_ae</a>);</div>
|
|
375
375
|
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <span class="keywordflow">if</span> (cs.arg_size() < 4) <span class="keywordflow">return</span>;</div>
|
|
376
|
-
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &es = ae-><a class="code" href="
|
|
376
|
+
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &es = ae-><a class="code" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">_svfir2ExeState</a>-><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a56434326130c8127c823097ad764947b">getEs</a>();</div>
|
|
377
377
|
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> len_id = <a class="code" href="classSVF_1_1AEAPI.html#ae983d887ccf66c7f21b4712b37ab5f60">_svfir</a>-><a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(cs.getArgument(2));</div>
|
|
378
378
|
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> len = es[len_id] - <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1);</div>
|
|
379
379
|
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> lhsId = <a class="code" href="classSVF_1_1AEAPI.html#ae983d887ccf66c7f21b4712b37ab5f60">_svfir</a>-><a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(cs.getInstruction());</div>
|
|
@@ -387,9 +387,9 @@ $(function() {
|
|
|
387
387
|
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callNode = SVFUtil::dyn_cast<CallICFGNode>(<a class="code" href="classSVF_1_1AEAPI.html#ae983d887ccf66c7f21b4712b37ab5f60">_svfir</a>-><a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>()-><a class="code" href="classSVF_1_1ICFG.html#a5f2c0aaba07d6fdd63058da0fb60ca8b">getICFGNode</a>(cs.getInstruction()));</div>
|
|
388
388
|
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <a class="code" href="classSVF_1_1AEAPI.html#ad364ccca2d91efa83263fad7ed196361">_checkpoints</a>.erase(callNode);</div>
|
|
389
389
|
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <span class="comment">//void SAFE_BUFACCESS(void* data, int size);</span></div>
|
|
390
|
-
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <a class="code" href="classSVF_1_1BufOverflowChecker.html">BufOverflowChecker</a>* ae = SVFUtil::dyn_cast<BufOverflowChecker>(<a class="code" href="classSVF_1_1AEAPI.html#
|
|
390
|
+
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <a class="code" href="classSVF_1_1BufOverflowChecker.html">BufOverflowChecker</a>* ae = SVFUtil::dyn_cast<BufOverflowChecker>(<a class="code" href="classSVF_1_1AEAPI.html#a33b63d79de59e0015097c43978162ded">_ae</a>);</div>
|
|
391
391
|
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keywordflow">if</span> (cs.arg_size() < 2) <span class="keywordflow">return</span>;</div>
|
|
392
|
-
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &es = ae-><a class="code" href="
|
|
392
|
+
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &es = ae-><a class="code" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">_svfir2ExeState</a>-><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a56434326130c8127c823097ad764947b">getEs</a>();</div>
|
|
393
393
|
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> size_id = <a class="code" href="classSVF_1_1AEAPI.html#ae983d887ccf66c7f21b4712b37ab5f60">_svfir</a>-><a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(cs.getArgument(1));</div>
|
|
394
394
|
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> val = es[size_id];</div>
|
|
395
395
|
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <span class="keywordflow">if</span> (val.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
@@ -418,9 +418,9 @@ $(function() {
|
|
|
418
418
|
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a>* callNode = SVFUtil::dyn_cast<CallICFGNode>(<a class="code" href="classSVF_1_1AEAPI.html#ae983d887ccf66c7f21b4712b37ab5f60">_svfir</a>-><a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>()-><a class="code" href="classSVF_1_1ICFG.html#a5f2c0aaba07d6fdd63058da0fb60ca8b">getICFGNode</a>(cs.getInstruction()));</div>
|
|
419
419
|
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <a class="code" href="classSVF_1_1AEAPI.html#ad364ccca2d91efa83263fad7ed196361">_checkpoints</a>.erase(callNode);</div>
|
|
420
420
|
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <span class="comment">//void UNSAFE_BUFACCESS(void* data, int size);</span></div>
|
|
421
|
-
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <a class="code" href="classSVF_1_1BufOverflowChecker.html">BufOverflowChecker</a>* ae = SVFUtil::dyn_cast<BufOverflowChecker>(<a class="code" href="classSVF_1_1AEAPI.html#
|
|
421
|
+
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <a class="code" href="classSVF_1_1BufOverflowChecker.html">BufOverflowChecker</a>* ae = SVFUtil::dyn_cast<BufOverflowChecker>(<a class="code" href="classSVF_1_1AEAPI.html#a33b63d79de59e0015097c43978162ded">_ae</a>);</div>
|
|
422
422
|
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <span class="keywordflow">if</span> (cs.arg_size() < 2) <span class="keywordflow">return</span>;</div>
|
|
423
|
-
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &es = ae-><a class="code" href="
|
|
423
|
+
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <a class="code" href="classSVF_1_1IntervalExeState.html">IntervalExeState</a> &es = ae-><a class="code" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">_svfir2ExeState</a>-><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a56434326130c8127c823097ad764947b">getEs</a>();</div>
|
|
424
424
|
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> size_id = <a class="code" href="classSVF_1_1AEAPI.html#ae983d887ccf66c7f21b4712b37ab5f60">_svfir</a>-><a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(cs.getArgument(1));</div>
|
|
425
425
|
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> val = es[size_id];</div>
|
|
426
426
|
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <span class="keywordflow">if</span> (val.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
@@ -451,7 +451,7 @@ $(function() {
|
|
|
451
451
|
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  </div>
|
|
452
452
|
<div class="line"><a name="l00381"></a><span class="lineno"><a class="line" href="classSVF_1_1BufOverflowCheckerAPI.html#ae88696790ca4f3392c7dc76c74619f46"> 381</a></span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1BufOverflowCheckerAPI.html#ae88696790ca4f3392c7dc76c74619f46">BufOverflowCheckerAPI::detectStrcat</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *call)</div>
|
|
453
453
|
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> {</div>
|
|
454
|
-
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <a class="code" href="classSVF_1_1BufOverflowChecker.html">BufOverflowChecker</a>* ae = SVFUtil::dyn_cast<BufOverflowChecker>(<a class="code" href="classSVF_1_1AEAPI.html#
|
|
454
|
+
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <a class="code" href="classSVF_1_1BufOverflowChecker.html">BufOverflowChecker</a>* ae = SVFUtil::dyn_cast<BufOverflowChecker>(<a class="code" href="classSVF_1_1AEAPI.html#a33b63d79de59e0015097c43978162ded">_ae</a>);</div>
|
|
455
455
|
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVFUtil::getCallee</a>(call-><a class="code" href="classSVF_1_1CallICFGNode.html#a90fd0b8e44fba1a7eb76d15bce085d66">getCallSite</a>());</div>
|
|
456
456
|
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <span class="comment">// check the arg size</span></div>
|
|
457
457
|
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <span class="comment">// if it is strcat group, we need to check the length of string,</span></div>
|
|
@@ -476,7 +476,7 @@ $(function() {
|
|
|
476
476
|
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a9815a5b31ac7dc21239d08e5b9f61106">SVFUtil::getSVFCallSite</a>(call-><a class="code" href="classSVF_1_1CallICFGNode.html#a90fd0b8e44fba1a7eb76d15bce085d66">getCallSite</a>());</div>
|
|
477
477
|
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* arg0Val = cs.<a class="code" href="classSVF_1_1CallSite.html#a9e7c94ee7f689466111487e03b2cebcc">getArgument</a>(0);</div>
|
|
478
478
|
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a>* arg2Val = cs.<a class="code" href="classSVF_1_1CallSite.html#a9e7c94ee7f689466111487e03b2cebcc">getArgument</a>(2);</div>
|
|
479
|
-
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> arg2Num = ae-><a class="code" href="
|
|
479
|
+
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> arg2Num = ae-><a class="code" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">_svfir2ExeState</a>-><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a56434326130c8127c823097ad764947b">getEs</a>()[<a class="code" href="classSVF_1_1AEAPI.html#ae983d887ccf66c7f21b4712b37ab5f60">_svfir</a>-><a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(arg2Val)];</div>
|
|
480
480
|
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> strLen0 = <a class="code" href="classSVF_1_1AEAPI.html#ae0519df0b6927a2d077c3d46beeaa9f7">getStrlen</a>(arg0Val);</div>
|
|
481
481
|
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> totalLen = strLen0 + arg2Num;</div>
|
|
482
482
|
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  <span class="keywordflow">return</span> <a class="code" href="classSVF_1_1BufOverflowCheckerAPI.html#a62a7eb3560c8ec158c2fe0c1fc95189d">canSafelyAccessMemory</a>(arg0Val, totalLen, call);</div>
|
|
@@ -490,7 +490,7 @@ $(function() {
|
|
|
490
490
|
<div class="line"><a name="l00419"></a><span class="lineno"><a class="line" href="classSVF_1_1BufOverflowCheckerAPI.html#a6a4afd9b4546d0a01dc869c6672f6dc6"> 419</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1BufOverflowCheckerAPI.html#a6a4afd9b4546d0a01dc869c6672f6dc6">BufOverflowCheckerAPI::handleExtAPI</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1CallICFGNode.html">CallICFGNode</a> *call)</div>
|
|
491
491
|
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> {</div>
|
|
492
492
|
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  <a class="code" href="classSVF_1_1AEAPI.html#af64d742317f2ddad87b87012225ddaaa">AEAPI::handleExtAPI</a>(call);</div>
|
|
493
|
-
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <a class="code" href="classSVF_1_1BufOverflowChecker.html">BufOverflowChecker</a>* ae = SVFUtil::dyn_cast<BufOverflowChecker>(<a class="code" href="classSVF_1_1AEAPI.html#
|
|
493
|
+
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <a class="code" href="classSVF_1_1BufOverflowChecker.html">BufOverflowChecker</a>* ae = SVFUtil::dyn_cast<BufOverflowChecker>(<a class="code" href="classSVF_1_1AEAPI.html#a33b63d79de59e0015097c43978162ded">_ae</a>);</div>
|
|
494
494
|
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *fun = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVFUtil::getCallee</a>(call-><a class="code" href="classSVF_1_1CallICFGNode.html#a90fd0b8e44fba1a7eb76d15bce085d66">getCallSite</a>());</div>
|
|
495
495
|
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  assert(fun && <span class="stringliteral">"SVFFunction* is nullptr"</span>);</div>
|
|
496
496
|
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  <a class="code" href="classSVF_1_1CallSite.html">CallSite</a> cs = <a class="code" href="namespaceSVF_1_1SVFUtil.html#a9815a5b31ac7dc21239d08e5b9f61106">SVFUtil::getSVFCallSite</a>(call-><a class="code" href="classSVF_1_1CallICFGNode.html#a90fd0b8e44fba1a7eb76d15bce085d66">getCallSite</a>());</div>
|
|
@@ -527,7 +527,7 @@ $(function() {
|
|
|
527
527
|
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  <span class="comment">// loop the args and check the offset</span></div>
|
|
528
528
|
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> arg: args)</div>
|
|
529
529
|
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  {</div>
|
|
530
|
-
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> = ae-><a class="code" href="
|
|
530
|
+
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> = ae-><a class="code" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">_svfir2ExeState</a>-><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a56434326130c8127c823097ad764947b">getEs</a>()[<a class="code" href="classSVF_1_1AEAPI.html#ae983d887ccf66c7f21b4712b37ab5f60">_svfir</a>-><a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(cs.<a class="code" href="classSVF_1_1CallSite.html#a9e7c94ee7f689466111487e03b2cebcc">getArgument</a>(arg.second))] - <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1);</div>
|
|
531
531
|
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <a class="code" href="classSVF_1_1BufOverflowCheckerAPI.html#a62a7eb3560c8ec158c2fe0c1fc95189d">canSafelyAccessMemory</a>(cs.<a class="code" href="classSVF_1_1CallSite.html#a9e7c94ee7f689466111487e03b2cebcc">getArgument</a>(arg.first), <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>, call);</div>
|
|
532
532
|
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  }</div>
|
|
533
533
|
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  }</div>
|
|
@@ -544,7 +544,7 @@ $(function() {
|
|
|
544
544
|
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  <span class="comment">// loop the args and check the offset</span></div>
|
|
545
545
|
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> arg: args)</div>
|
|
546
546
|
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  {</div>
|
|
547
|
-
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> = ae-><a class="code" href="
|
|
547
|
+
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a> = ae-><a class="code" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">_svfir2ExeState</a>-><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a56434326130c8127c823097ad764947b">getEs</a>()[<a class="code" href="classSVF_1_1AEAPI.html#ae983d887ccf66c7f21b4712b37ab5f60">_svfir</a>-><a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(cs.<a class="code" href="classSVF_1_1CallSite.html#a9e7c94ee7f689466111487e03b2cebcc">getArgument</a>(arg.second))] - <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(1);</div>
|
|
548
548
|
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  <a class="code" href="classSVF_1_1BufOverflowCheckerAPI.html#a62a7eb3560c8ec158c2fe0c1fc95189d">canSafelyAccessMemory</a>(cs.<a class="code" href="classSVF_1_1CallSite.html#a9e7c94ee7f689466111487e03b2cebcc">getArgument</a>(arg.first), <a class="code" href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a>, call);</div>
|
|
549
549
|
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  }</div>
|
|
550
550
|
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  }</div>
|
|
@@ -566,7 +566,7 @@ $(function() {
|
|
|
566
566
|
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  </div>
|
|
567
567
|
<div class="line"><a name="l00496"></a><span class="lineno"><a class="line" href="classSVF_1_1BufOverflowChecker.html#a13b4beca209f7d306cf0a6065987a489"> 496</a></span> <span class="keywordtype">void</span> <a class="code" href="classSVF_1_1BufOverflowChecker.html#a13b4beca209f7d306cf0a6065987a489">BufOverflowChecker::handleICFGNode</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">SVF::ICFGNode</a> *node)</div>
|
|
568
568
|
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> {</div>
|
|
569
|
-
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  <a class="code" href="
|
|
569
|
+
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  <a class="code" href="classSVF_1_1AbstractExecution.html#a714fa1f4794008f630de415414cf8bfd">AbstractExecution::handleICFGNode</a>(node);</div>
|
|
570
570
|
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  <a class="code" href="classSVF_1_1BufOverflowChecker.html#a52de7d619e8746a70718719306d7c5a1">detectBufOverflow</a>(node);</div>
|
|
571
571
|
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> }</div>
|
|
572
572
|
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  </div>
|
|
@@ -574,7 +574,7 @@ $(function() {
|
|
|
574
574
|
<div class="line"><a name="l00503"></a><span class="lineno"><a class="line" href="classSVF_1_1BufOverflowChecker.html#a52de7d619e8746a70718719306d7c5a1"> 503</a></span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1BufOverflowChecker.html#a52de7d619e8746a70718719306d7c5a1">BufOverflowChecker::detectBufOverflow</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *node)</div>
|
|
575
575
|
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> {</div>
|
|
576
576
|
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  </div>
|
|
577
|
-
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  <span class="keyword">auto</span> *extapi = SVFUtil::dyn_cast<BufOverflowCheckerAPI>(<a class="code" href="
|
|
577
|
+
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  <span class="keyword">auto</span> *extapi = SVFUtil::dyn_cast<BufOverflowCheckerAPI>(<a class="code" href="classSVF_1_1AbstractExecution.html#a26f8c21bd96ae22ca2e72af6fbfa410c">_api</a>);</div>
|
|
578
578
|
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span>* stmt: node-><a class="code" href="classSVF_1_1ICFGNode.html#a6c68f52dd90728073fb79141df9b0661">getSVFStmts</a>())</div>
|
|
579
579
|
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  {</div>
|
|
580
580
|
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep = SVFUtil::dyn_cast<GepStmt>(stmt))</div>
|
|
@@ -582,7 +582,7 @@ $(function() {
|
|
|
582
582
|
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFVar.html">SVFVar</a>* gepRhs = gep->getRHSVar();</div>
|
|
583
583
|
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFInstruction.html">SVFInstruction</a>* inst = SVFUtil::dyn_cast<SVFInstruction>(gepRhs-><a class="code" href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">getValue</a>()))</div>
|
|
584
584
|
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  {</div>
|
|
585
|
-
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* icfgNode = <a class="code" href="
|
|
585
|
+
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a>* icfgNode = <a class="code" href="classSVF_1_1AbstractExecution.html#a49742e8c3a8fe598a0945a8d8ff394d0">_svfir</a>-><a class="code" href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">getICFG</a>()-><a class="code" href="classSVF_1_1ICFG.html#a5f2c0aaba07d6fdd63058da0fb60ca8b">getICFGNode</a>(inst);</div>
|
|
586
586
|
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFStmt.html">SVFStmt</a>* stmt2: icfgNode-><a class="code" href="classSVF_1_1ICFGNode.html#a6c68f52dd90728073fb79141df9b0661">getSVFStmts</a>())</div>
|
|
587
587
|
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  {</div>
|
|
588
588
|
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1GepStmt.html">GepStmt</a> *gep2 = SVFUtil::dyn_cast<GepStmt>(stmt2))</div>
|
|
@@ -594,12 +594,12 @@ $(function() {
|
|
|
594
594
|
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  }</div>
|
|
595
595
|
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1LoadStmt.html">LoadStmt</a>* load = SVFUtil::dyn_cast<LoadStmt>(stmt))</div>
|
|
596
596
|
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  {</div>
|
|
597
|
-
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  <span class="keywordflow">if</span> (<a class="code" href="
|
|
597
|
+
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">_svfir2ExeState</a>-><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(load->getRHSVarID()))</div>
|
|
598
598
|
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  {</div>
|
|
599
|
-
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  <a class="code" href="classSVF_1_1AddressValue.html">ExeState::Addrs</a> Addrs = <a class="code" href="
|
|
599
|
+
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  <a class="code" href="classSVF_1_1AddressValue.html">ExeState::Addrs</a> Addrs = <a class="code" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">_svfir2ExeState</a>-><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(load->getRHSVarID());</div>
|
|
600
600
|
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> vaddr: Addrs)</div>
|
|
601
601
|
<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  {</div>
|
|
602
|
-
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = <a class="code" href="
|
|
602
|
+
<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = <a class="code" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">_svfir2ExeState</a>-><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(vaddr);</div>
|
|
603
603
|
<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  <span class="keywordflow">if</span> (extapi->_addrToGep.find(objId) != extapi->_addrToGep.end())</div>
|
|
604
604
|
<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  {</div>
|
|
605
605
|
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1GepStmt.html">GepStmt</a>* gep = extapi->_addrToGep.at(objId);</div>
|
|
@@ -610,12 +610,12 @@ $(function() {
|
|
|
610
610
|
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  }</div>
|
|
611
611
|
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classSVF_1_1StoreStmt.html">StoreStmt</a>* store = SVFUtil::dyn_cast<StoreStmt>(stmt))</div>
|
|
612
612
|
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  {</div>
|
|
613
|
-
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  <span class="keywordflow">if</span> (<a class="code" href="
|
|
613
|
+
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">_svfir2ExeState</a>-><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">inVarToAddrsTable</a>(store->getLHSVarID()))</div>
|
|
614
614
|
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  {</div>
|
|
615
|
-
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  <a class="code" href="classSVF_1_1AddressValue.html">ExeState::Addrs</a> Addrs = <a class="code" href="
|
|
615
|
+
<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  <a class="code" href="classSVF_1_1AddressValue.html">ExeState::Addrs</a> Addrs = <a class="code" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">_svfir2ExeState</a>-><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">getAddrs</a>(store->getLHSVarID());</div>
|
|
616
616
|
<div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> vaddr: Addrs)</div>
|
|
617
617
|
<div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  {</div>
|
|
618
|
-
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = <a class="code" href="
|
|
618
|
+
<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> objId = <a class="code" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">_svfir2ExeState</a>-><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">getInternalID</a>(vaddr);</div>
|
|
619
619
|
<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  <span class="keywordflow">if</span> (extapi->_addrToGep.find(objId) != extapi->_addrToGep.end())</div>
|
|
620
620
|
<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  {</div>
|
|
621
621
|
<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1GepStmt.html">GepStmt</a>* gep = extapi->_addrToGep.at(objId);</div>
|
|
@@ -641,7 +641,7 @@ $(function() {
|
|
|
641
641
|
<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  }</div>
|
|
642
642
|
<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  <a class="code" href="classSVF_1_1GenericBug.html#acc65b033bfd61257d5b6fdbf932dfafe">GenericBug::EventStack</a> eventStack;</div>
|
|
643
643
|
<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  <a class="code" href="classSVF_1_1SVFBugEvent.html">SVFBugEvent</a> sourceInstEvent(SVFBugEvent::EventType::SourceInst, inst);</div>
|
|
644
|
-
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &callsite: <a class="code" href="
|
|
644
|
+
<div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  <span class="keywordflow">for</span> (<span class="keyword">const</span> <span class="keyword">auto</span> &callsite: <a class="code" href="classSVF_1_1AbstractExecution.html#ab9d6ebcf67ec473ce7ad5910c74eddc1">_callSiteStack</a>)</div>
|
|
645
645
|
<div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  {</div>
|
|
646
646
|
<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  <a class="code" href="classSVF_1_1SVFBugEvent.html">SVFBugEvent</a> callSiteEvent(SVFBugEvent::EventType::CallSite, callsite->getCallSite());</div>
|
|
647
647
|
<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  eventStack.push_back(callSiteEvent);</div>
|
|
@@ -649,23 +649,23 @@ $(function() {
|
|
|
649
649
|
<div class="line"><a name="l00578"></a><span class="lineno"> 578</span>  eventStack.push_back(sourceInstEvent);</div>
|
|
650
650
|
<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  <span class="keywordflow">if</span> (eventStack.size() == 0) <span class="keywordflow">return</span>;</div>
|
|
651
651
|
<div class="line"><a name="l00580"></a><span class="lineno"> 580</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> loc = eventStack.back().getEventLoc();</div>
|
|
652
|
-
<div class="line"><a name="l00581"></a><span class="lineno"> 581</span>  <span class="keywordflow">if</span> (<a class="code" href="
|
|
652
|
+
<div class="line"><a name="l00581"></a><span class="lineno"> 581</span>  <span class="keywordflow">if</span> (<a class="code" href="classSVF_1_1AbstractExecution.html#a790c178f8c29eecfc256a5dfd97d1637">_bugLoc</a>.find(loc) != <a class="code" href="classSVF_1_1AbstractExecution.html#a790c178f8c29eecfc256a5dfd97d1637">_bugLoc</a>.end())</div>
|
|
653
653
|
<div class="line"><a name="l00582"></a><span class="lineno"> 582</span>  {</div>
|
|
654
654
|
<div class="line"><a name="l00583"></a><span class="lineno"> 583</span>  <span class="keywordflow">return</span>;</div>
|
|
655
655
|
<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  }</div>
|
|
656
656
|
<div class="line"><a name="l00585"></a><span class="lineno"> 585</span>  <span class="keywordflow">else</span></div>
|
|
657
657
|
<div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  {</div>
|
|
658
|
-
<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  <a class="code" href="
|
|
658
|
+
<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  <a class="code" href="classSVF_1_1AbstractExecution.html#a790c178f8c29eecfc256a5dfd97d1637">_bugLoc</a>.insert(loc);</div>
|
|
659
659
|
<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>  }</div>
|
|
660
|
-
<div class="line"><a name="l00589"></a><span class="lineno"> 589</span>  <a class="code" href="
|
|
660
|
+
<div class="line"><a name="l00589"></a><span class="lineno"> 589</span>  <a class="code" href="classSVF_1_1AbstractExecution.html#a5ed683d635bd05f0bee10436d20deb31">_recoder</a>.<a class="code" href="classSVF_1_1SVFBugReport.html#a05f395eff23619ed10c31c0acda949e2">addAbsExecBug</a>(<a class="code" href="classSVF_1_1GenericBug.html#a7aeeb33097bca5f7fe6747f90f5cecacac88ddac03bb8ae09a72058e4ad7af747">GenericBug::FULLBUFOVERFLOW</a>, eventStack, e.<a class="code" href="structSVF_1_1BufOverflowException.html#af8a7272c33f826f0079d5a31f6c5d547">getAllocLb</a>(), e.<a class="code" href="structSVF_1_1BufOverflowException.html#a09144623a46e13e561db8b282440e6fc">getAllocUb</a>(), e.<a class="code" href="structSVF_1_1BufOverflowException.html#a9c169e68b0c793909d643e3e266434fe">getAccessLb</a>(),</div>
|
|
661
661
|
<div class="line"><a name="l00590"></a><span class="lineno"> 590</span>  e.<a class="code" href="structSVF_1_1BufOverflowException.html#a95463e50b7e92f46cb095fd2a706257a">getAccessUb</a>());</div>
|
|
662
|
-
<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  <a class="code" href="
|
|
662
|
+
<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  <a class="code" href="classSVF_1_1AbstractExecution.html#a55737f5c82afce29a816eb21070a2bc1">_nodeToBugInfo</a>[node] = e.<a class="code" href="structSVF_1_1BufOverflowException.html#a4eb54eb3943f96e60f89d2fdd99f08c0">what</a>();</div>
|
|
663
663
|
<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> }</div>
|
|
664
664
|
<div class="line"><a name="l00593"></a><span class="lineno"> 593</span>  </div>
|
|
665
665
|
<div class="line"><a name="l00594"></a><span class="lineno"> 594</span>  </div>
|
|
666
666
|
<div class="line"><a name="l00595"></a><span class="lineno"><a class="line" href="classSVF_1_1BufOverflowCheckerAPI.html#a62a7eb3560c8ec158c2fe0c1fc95189d"> 595</a></span> <span class="keywordtype">bool</span> <a class="code" href="classSVF_1_1BufOverflowCheckerAPI.html#a62a7eb3560c8ec158c2fe0c1fc95189d">BufOverflowCheckerAPI::canSafelyAccessMemory</a>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *value, <span class="keyword">const</span> <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> &len, <span class="keyword">const</span> <a class="code" href="classSVF_1_1ICFGNode.html">ICFGNode</a> *curNode)</div>
|
|
667
667
|
<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> {</div>
|
|
668
|
-
<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>  <a class="code" href="classSVF_1_1BufOverflowChecker.html">BufOverflowChecker</a>* ae = <span class="keyword">static_cast<</span><a class="code" href="classSVF_1_1BufOverflowChecker.html">BufOverflowChecker</a>*<span class="keyword">></span>(this-><a class="code" href="classSVF_1_1AEAPI.html#
|
|
668
|
+
<div class="line"><a name="l00597"></a><span class="lineno"> 597</span>  <a class="code" href="classSVF_1_1BufOverflowChecker.html">BufOverflowChecker</a>* ae = <span class="keyword">static_cast<</span><a class="code" href="classSVF_1_1BufOverflowChecker.html">BufOverflowChecker</a>*<span class="keyword">></span>(this-><a class="code" href="classSVF_1_1AEAPI.html#a33b63d79de59e0015097c43978162ded">_ae</a>);</div>
|
|
669
669
|
<div class="line"><a name="l00598"></a><span class="lineno"> 598</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFValue.html">SVFValue</a> *firstValue = value;</div>
|
|
670
670
|
<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  </div>
|
|
671
671
|
<div class="line"><a name="l00607"></a><span class="lineno"> 607</span>  <a class="code" href="classSVF_1_1FILOWorkList.html">SVF::FILOWorkList<const SVFValue *></a> worklist;</div>
|
|
@@ -674,7 +674,7 @@ $(function() {
|
|
|
674
674
|
<div class="line"><a name="l00610"></a><span class="lineno"> 610</span>  <a class="code" href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">Map<const ICFGNode *, IntervalValue></a> gep_offsets;</div>
|
|
675
675
|
<div class="line"><a name="l00611"></a><span class="lineno"> 611</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> total_bytes = len;</div>
|
|
676
676
|
<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  worklist.<a class="code" href="classSVF_1_1FILOWorkList.html#afcf3fcda18e8d3e2bad70a51376c0ce1">push</a>(value);</div>
|
|
677
|
-
<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>  std::vector<const CallICFGNode *> callstack = ae-><a class="code" href="
|
|
677
|
+
<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>  std::vector<const CallICFGNode *> callstack = ae-><a class="code" href="classSVF_1_1AbstractExecution.html#ab9d6ebcf67ec473ce7ad5910c74eddc1">_callSiteStack</a>;</div>
|
|
678
678
|
<div class="line"><a name="l00614"></a><span class="lineno"> 614</span>  <span class="keywordflow">while</span> (!worklist.<a class="code" href="classSVF_1_1FILOWorkList.html#a071a624c91def82a4bbbf3806c7b7eea">empty</a>())</div>
|
|
679
679
|
<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>  {</div>
|
|
680
680
|
<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  value = worklist.<a class="code" href="classSVF_1_1FILOWorkList.html#a3fd9acb6d09fd142bfd402fdf8cac93b">pop</a>();</div>
|
|
@@ -726,7 +726,7 @@ $(function() {
|
|
|
726
726
|
<div class="line"><a name="l00662"></a><span class="lineno"> 662</span>  }</div>
|
|
727
727
|
<div class="line"><a name="l00663"></a><span class="lineno"> 663</span>  <span class="keywordflow">else</span></div>
|
|
728
728
|
<div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  {</div>
|
|
729
|
-
<div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  byteOffset = ae-><a class="code" href="
|
|
729
|
+
<div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  byteOffset = ae-><a class="code" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">_svfir2ExeState</a>-><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a335922caf105ee72cd9d66a451ae3d4e">getByteOffset</a>(gep);</div>
|
|
730
730
|
<div class="line"><a name="l00666"></a><span class="lineno"> 666</span>  }</div>
|
|
731
731
|
<div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  <span class="comment">// for variable offset, join with accumulate gep offset</span></div>
|
|
732
732
|
<div class="line"><a name="l00668"></a><span class="lineno"> 668</span>  gep_offsets[gep->getICFGNode()] = byteOffset;</div>
|
|
@@ -755,7 +755,7 @@ $(function() {
|
|
|
755
755
|
<div class="line"><a name="l00691"></a><span class="lineno"> 691</span>  <span class="keywordflow">else</span></div>
|
|
756
756
|
<div class="line"><a name="l00692"></a><span class="lineno"> 692</span>  {</div>
|
|
757
757
|
<div class="line"><a name="l00693"></a><span class="lineno"> 693</span>  <a class="code" href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">u32_t</a> idx = <a class="code" href="classSVF_1_1AEAPI.html#ae983d887ccf66c7f21b4712b37ab5f60">_svfir</a>-><a class="code" href="classSVF_1_1IRGraph.html#a43514023a4f4d0c32f536f51443b0efc">getValueNode</a>(idxValue);</div>
|
|
758
|
-
<div class="line"><a name="l00694"></a><span class="lineno"> 694</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> idxVal = ae-><a class="code" href="
|
|
758
|
+
<div class="line"><a name="l00694"></a><span class="lineno"> 694</span>  <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a> idxVal = ae-><a class="code" href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">_svfir2ExeState</a>-><a class="code" href="classSVF_1_1SVFIR2ItvExeState.html#a56434326130c8127c823097ad764947b">getEs</a>()[idx];</div>
|
|
759
759
|
<div class="line"><a name="l00695"></a><span class="lineno"> 695</span>  <span class="keywordflow">if</span> (idxVal.<a class="code" href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">isBottom</a>())</div>
|
|
760
760
|
<div class="line"><a name="l00696"></a><span class="lineno"> 696</span>  {</div>
|
|
761
761
|
<div class="line"><a name="l00697"></a><span class="lineno"> 697</span>  gepArrTotalByte = gepArrTotalByte + <a class="code" href="classSVF_1_1IntervalValue.html">IntervalValue</a>(0, 0);</div>
|
|
@@ -903,12 +903,12 @@ $(function() {
|
|
|
903
903
|
<div class="line"><a name="l00839"></a><span class="lineno"> 839</span> }</div>
|
|
904
904
|
</div><!-- fragment --></div><!-- contents -->
|
|
905
905
|
<div class="ttc" id="aclassSVF_1_1SVFBugReport_html_a05f395eff23619ed10c31c0acda949e2"><div class="ttname"><a href="classSVF_1_1SVFBugReport.html#a05f395eff23619ed10c31c0acda949e2">SVF::SVFBugReport::addAbsExecBug</a></div><div class="ttdeci">void addAbsExecBug(GenericBug::BugType bugType, const GenericBug::EventStack &eventStack, s64_t allocLowerBound, s64_t allocUpperBound, s64_t accessLowerBound, s64_t accessUpperBound)</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8h_source.html#l00367">SVFBugReport.h:367</a></div></div>
|
|
906
|
-
<div class="ttc" id="aclassSVF_1_1AEAPI_html_afe6d49fd36a96bda165654eb393be6f2"><div class="ttname"><a href="classSVF_1_1AEAPI.html#afe6d49fd36a96bda165654eb393be6f2">SVF::AEAPI::getAllocaInstByteSize</a></div><div class="ttdeci">u32_t getAllocaInstByteSize(const AddrStmt *addr)</div><div class="ttdef"><b>Definition:</b> <a href="
|
|
906
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_afe6d49fd36a96bda165654eb393be6f2"><div class="ttname"><a href="classSVF_1_1AEAPI.html#afe6d49fd36a96bda165654eb393be6f2">SVF::AEAPI::getAllocaInstByteSize</a></div><div class="ttdeci">u32_t getAllocaInstByteSize(const AddrStmt *addr)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l01362">AbstractExecution.cpp:1362</a></div></div>
|
|
907
907
|
<div class="ttc" id="aclassSVF_1_1SVFValue_html_a2401b022638769f59f86ab424a189b6e"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">SVF::SVFValue::getName</a></div><div class="ttdeci">const std::string & getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00243">SVFValue.h:243</a></div></div>
|
|
908
908
|
<div class="ttc" id="aclassSVF_1_1CopyStmt_html"><div class="ttname"><a href="classSVF_1_1CopyStmt.html">SVF::CopyStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00364">SVFStatements.h:364</a></div></div>
|
|
909
909
|
<div class="ttc" id="aclassSVF_1_1SVFType_html_a95b8031f1e15d49c7d68628be1d05aae"><div class="ttname"><a href="classSVF_1_1SVFType.html#a95b8031f1e15d49c7d68628be1d05aae">SVF::SVFType::getByteSize</a></div><div class="ttdeci">u32_t getByteSize() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00244">SVFType.h:244</a></div></div>
|
|
910
|
-
<div class="ttc" id="aclassSVF_1_1AE_html_a73f74f2e9ecfd6870e98edee1ab6889c"><div class="ttname"><a href="classSVF_1_1AE.html#a73f74f2e9ecfd6870e98edee1ab6889c">SVF::AE::_recoder</a></div><div class="ttdeci">SVFBugReport _recoder</div><div class="ttdef"><b>Definition:</b> <a href="AE_8h_source.html#l00247">AE.h:247</a></div></div>
|
|
911
910
|
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_afbb9ff1f2c47d2afda117bf63a80a1a7"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#afbb9ff1f2c47d2afda117bf63a80a1a7">SVF::SVFIR2ItvExeState::getRangeLimitFromType</a></div><div class="ttdeci">IntervalValue getRangeLimitFromType(const SVFType *type)</div><div class="ttdoc">Return the value range of Integer SVF Type, e.g. unsigned i8 Type->[0, 255], signed i8 Type->[-128,...</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00050">SVFIR2ItvExeState.cpp:50</a></div></div>
|
|
911
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a33b63d79de59e0015097c43978162ded"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a33b63d79de59e0015097c43978162ded">SVF::AEAPI::_ae</a></div><div class="ttdeci">AbstractExecution * _ae</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00423">AbstractExecution.h:423</a></div></div>
|
|
912
912
|
<div class="ttc" id="aclassSVF_1_1BufOverflowCheckerAPI_html_a62a7eb3560c8ec158c2fe0c1fc95189d"><div class="ttname"><a href="classSVF_1_1BufOverflowCheckerAPI.html#a62a7eb3560c8ec158c2fe0c1fc95189d">SVF::BufOverflowCheckerAPI::canSafelyAccessMemory</a></div><div class="ttdeci">bool canSafelyAccessMemory(const SVFValue *value, const IntervalValue &len, const ICFGNode *curNode)</div><div class="ttdef"><b>Definition:</b> <a href="BufOverflowChecker_8cpp_source.html#l00595">BufOverflowChecker.cpp:595</a></div></div>
|
|
913
913
|
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a7655b13bbfe720ca2b8a25e0a72528e6"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a7655b13bbfe720ca2b8a25e0a72528e6">SVF::SVFUtil::errMsg</a></div><div class="ttdeci">std::string errMsg(const std::string &msg)</div><div class="ttdoc">Print error message by converting a string into red string output.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00076">SVFUtil.cpp:76</a></div></div>
|
|
914
914
|
<div class="ttc" id="aclassSVF_1_1AddrStmt_html"><div class="ttname"><a href="classSVF_1_1AddrStmt.html">SVF::AddrStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00313">SVFStatements.h:313</a></div></div>
|
|
@@ -918,42 +918,45 @@ $(function() {
|
|
|
918
918
|
<div class="ttc" id="aclassSVF_1_1CallICFGNode_html_a90fd0b8e44fba1a7eb76d15bce085d66"><div class="ttname"><a href="classSVF_1_1CallICFGNode.html#a90fd0b8e44fba1a7eb76d15bce085d66">SVF::CallICFGNode::getCallSite</a></div><div class="ttdeci">const SVFInstruction * getCallSite() const</div><div class="ttdoc">Return callsite.</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00409">ICFGNode.h:409</a></div></div>
|
|
919
919
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a0df07a2659cbf3a918de5b0d7c407264"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a0df07a2659cbf3a918de5b0d7c407264">SVF::IntervalValue::lb</a></div><div class="ttdeci">const NumericLiteral & lb() const</div><div class="ttdoc">Return the lower bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00218">IntervalValue.h:218</a></div></div>
|
|
920
920
|
<div class="ttc" id="anamespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00066">BasicTypes.h:66</a></div></div>
|
|
921
|
-
<div class="ttc" id="aclassSVF_1_1AEAPI_html_ad364ccca2d91efa83263fad7ed196361"><div class="ttname"><a href="classSVF_1_1AEAPI.html#ad364ccca2d91efa83263fad7ed196361">SVF::AEAPI::_checkpoints</a></div><div class="ttdeci">Set< const CallICFGNode * > _checkpoints</div><div class="ttdef"><b>Definition:</b> <a href="
|
|
921
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_ad364ccca2d91efa83263fad7ed196361"><div class="ttname"><a href="classSVF_1_1AEAPI.html#ad364ccca2d91efa83263fad7ed196361">SVF::AEAPI::_checkpoints</a></div><div class="ttdeci">Set< const CallICFGNode * > _checkpoints</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00430">AbstractExecution.h:430</a></div></div>
|
|
922
922
|
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a9815a5b31ac7dc21239d08e5b9f61106"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a9815a5b31ac7dc21239d08e5b9f61106">SVF::SVFUtil::getSVFCallSite</a></div><div class="ttdeci">CallSite getSVFCallSite(const SVFInstruction *inst)</div><div class="ttdoc">Return LLVM callsite given an instruction.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00196">SVFUtil.h:196</a></div></div>
|
|
923
|
-
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a29ab312d273e6c9c32a40d61861afb04ab8167323edeff68403cf4ceb7e8133d9"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a29ab312d273e6c9c32a40d61861afb04ab8167323edeff68403cf4ceb7e8133d9">SVF::AEAPI::STRCAT</a></div><div class="ttdeci">@ STRCAT</div><div class="ttdef"><b>Definition:</b> <a href="
|
|
923
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a29ab312d273e6c9c32a40d61861afb04ab8167323edeff68403cf4ceb7e8133d9"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a29ab312d273e6c9c32a40d61861afb04ab8167323edeff68403cf4ceb7e8133d9">SVF::AEAPI::STRCAT</a></div><div class="ttdeci">@ STRCAT</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00285">AbstractExecution.h:285</a></div></div>
|
|
924
924
|
<div class="ttc" id="astructSVF_1_1BufOverflowException_html_a4eb54eb3943f96e60f89d2fdd99f08c0"><div class="ttname"><a href="structSVF_1_1BufOverflowException.html#a4eb54eb3943f96e60f89d2fdd99f08c0">SVF::BufOverflowException::what</a></div><div class="ttdeci">const char * what() const noexcept override</div><div class="ttdef"><b>Definition:</b> <a href="BufOverflowChecker_8h_source.html#l00088">BufOverflowChecker.h:88</a></div></div>
|
|
925
925
|
<div class="ttc" id="aclassSVF_1_1ICFGNode_html_a6c68f52dd90728073fb79141df9b0661"><div class="ttname"><a href="classSVF_1_1ICFGNode.html#a6c68f52dd90728073fb79141df9b0661">SVF::ICFGNode::getSVFStmts</a></div><div class="ttdeci">const SVFStmtList & getSVFStmts() const</div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00127">ICFGNode.h:127</a></div></div>
|
|
926
926
|
<div class="ttc" id="astructSVF_1_1BufOverflowException_html"><div class="ttname"><a href="structSVF_1_1BufOverflowException.html">SVF::BufOverflowException</a></div><div class="ttdef"><b>Definition:</b> <a href="BufOverflowChecker_8h_source.html#l00033">BufOverflowChecker.h:33</a></div></div>
|
|
927
|
-
<div class="ttc" id="aclassSVF_1_1AEAPI_html_ae983d887ccf66c7f21b4712b37ab5f60"><div class="ttname"><a href="classSVF_1_1AEAPI.html#ae983d887ccf66c7f21b4712b37ab5f60">SVF::AEAPI::_svfir</a></div><div class="ttdeci">SVFIR * _svfir</div><div class="ttdef"><b>Definition:</b> <a href="
|
|
928
|
-
<div class="ttc" id="
|
|
927
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_ae983d887ccf66c7f21b4712b37ab5f60"><div class="ttname"><a href="classSVF_1_1AEAPI.html#ae983d887ccf66c7f21b4712b37ab5f60">SVF::AEAPI::_svfir</a></div><div class="ttdeci">SVFIR * _svfir</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00425">AbstractExecution.h:425</a></div></div>
|
|
928
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a55737f5c82afce29a816eb21070a2bc1"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a55737f5c82afce29a816eb21070a2bc1">SVF::AbstractExecution::_nodeToBugInfo</a></div><div class="ttdeci">Map< const ICFGNode *, std::string > _nodeToBugInfo</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00248">AbstractExecution.h:248</a></div></div>
|
|
929
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a5e24bceb3d6961117651dbc65e9a097a"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a5e24bceb3d6961117651dbc65e9a097a">SVF::AbstractExecution::_svfir2ExeState</a></div><div class="ttdeci">SVFIR2ItvExeState * _svfir2ExeState</div><div class="ttdoc">Execution State, used to store the Interval Value of every SVF variable.</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00238">AbstractExecution.h:238</a></div></div>
|
|
929
930
|
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_ac71522e8c55f84cfc6c13a0ddff18436"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ac71522e8c55f84cfc6c13a0ddff18436">SVF::SVFUtil::wrnMsg</a></div><div class="ttdeci">std::string wrnMsg(const std::string &msg)</div><div class="ttdoc">Returns warning message by converting a string into yellow string output.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00061">SVFUtil.cpp:61</a></div></div>
|
|
930
931
|
<div class="ttc" id="aclassSVF_1_1SVFValue_html_a11f2d9b6e969ede6fca2c204cc15b821"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a11f2d9b6e969ede6fca2c204cc15b821">SVF::SVFValue::getType</a></div><div class="ttdeci">virtual const SVFType * getType() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00256">SVFValue.h:256</a></div></div>
|
|
931
932
|
<div class="ttc" id="aclassSVF_1_1SVFVar_html_ac2db6304ea5526fb446ae882983beeb0"><div class="ttname"><a href="classSVF_1_1SVFVar.html#ac2db6304ea5526fb446ae882983beeb0">SVF::SVFVar::getValue</a></div><div class="ttdeci">const SVFValue * getValue() const</div><div class="ttdoc">Get/has methods of the components.</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00094">SVFVariables.h:94</a></div></div>
|
|
932
933
|
<div class="ttc" id="aclassSVF_1_1GenericBug_html_acc65b033bfd61257d5b6fdbf932dfafe"><div class="ttname"><a href="classSVF_1_1GenericBug.html#acc65b033bfd61257d5b6fdbf932dfafe">SVF::GenericBug::EventStack</a></div><div class="ttdeci">std::vector< SVFBugEvent > EventStack</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8h_source.html#l00083">SVFBugReport.h:83</a></div></div>
|
|
933
934
|
<div class="ttc" id="aclassSVF_1_1ICFGNode_html"><div class="ttname"><a href="classSVF_1_1ICFGNode.html">SVF::ICFGNode</a></div><div class="ttdef"><b>Definition:</b> <a href="ICFGNode_8h_source.html#l00054">ICFGNode.h:54</a></div></div>
|
|
934
935
|
<div class="ttc" id="aclassSVF_1_1SVFType_html_a330084f9a3deb6e5acb52a8ee3eb7fe4"><div class="ttname"><a href="classSVF_1_1SVFType.html#a330084f9a3deb6e5acb52a8ee3eb7fe4">SVF::SVFType::isArrayTy</a></div><div class="ttdeci">bool isArrayTy() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00254">SVFType.h:254</a></div></div>
|
|
936
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a5ed683d635bd05f0bee10436d20deb31"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a5ed683d635bd05f0bee10436d20deb31">SVF::AbstractExecution::_recoder</a></div><div class="ttdeci">SVFBugReport _recoder</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00246">AbstractExecution.h:246</a></div></div>
|
|
935
937
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a5d73cc2aa0a6ed49e8301fa7b0cd5045"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a5d73cc2aa0a6ed49e8301fa7b0cd5045">SVF::IntervalValue::toString</a></div><div class="ttdeci">const std::string toString() const</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00441">IntervalValue.h:441</a></div></div>
|
|
936
938
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_af8be90fc1b61103187908dce4ba68001"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#af8be90fc1b61103187908dce4ba68001">SVF::IntervalValue::isBottom</a></div><div class="ttdeci">bool isBottom() const override</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00060">IntervalValue.h:60</a></div></div>
|
|
937
|
-
<div class="ttc" id="aclassSVF_1_1AEAPI_html_ac49859a7848fbef0e29492e95b031f1f"><div class="ttname"><a href="classSVF_1_1AEAPI.html#ac49859a7848fbef0e29492e95b031f1f">SVF::AEAPI::AccessMemoryViaCallArgs</a></div><div class="ttdeci">void AccessMemoryViaCallArgs(const SVF::SVFArgument *arg, SVF::FILOWorkList< const SVFValue * > &worklist, Set< const SVFValue * > &visited)</div><div class="ttdef"><b>Definition:</b> <a href="
|
|
938
|
-
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a6cd87d552b2bd81252ef62c624a56b36"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a6cd87d552b2bd81252ef62c624a56b36">SVF::AEAPI::_ae</a></div><div class="ttdeci">AE * _ae</div><div class="ttdef"><b>Definition:</b> <a href="AE_8h_source.html#l00424">AE.h:424</a></div></div>
|
|
939
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_ac49859a7848fbef0e29492e95b031f1f"><div class="ttname"><a href="classSVF_1_1AEAPI.html#ac49859a7848fbef0e29492e95b031f1f">SVF::AEAPI::AccessMemoryViaCallArgs</a></div><div class="ttdeci">void AccessMemoryViaCallArgs(const SVF::SVFArgument *arg, SVF::FILOWorkList< const SVFValue * > &worklist, Set< const SVFValue * > &visited)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l01799">AbstractExecution.cpp:1799</a></div></div>
|
|
939
940
|
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a48fec38aad1c2a9a140ee94e9fdd7e9b"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a48fec38aad1c2a9a140ee94e9fdd7e9b">SVF::SVFIR2ItvExeState::getAddrs</a></div><div class="ttdeci">Addrs & getAddrs(u32_t id)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00104">SVFIR2ItvExeState.h:104</a></div></div>
|
|
940
941
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_a3dba35c84607bd3ed4e62a90ae2799cf"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#a3dba35c84607bd3ed4e62a90ae2799cf">SVF::IntervalValue::is_infinite</a></div><div class="ttdeci">static bool is_infinite(const NumericLiteral &e)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00077">IntervalValue.h:77</a></div></div>
|
|
941
942
|
<div class="ttc" id="aclassSVF_1_1Options_html_a6450b984f67d3cfa3f44892e8eea555e"><div class="ttname"><a href="classSVF_1_1Options.html#a6450b984f67d3cfa3f44892e8eea555e">SVF::Options::GepUnknownIdx</a></div><div class="ttdeci">static const Option< bool > GepUnknownIdx</div><div class="ttdoc">if the access index of gepstmt is unknown, skip it, Default: false</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00273">Options.h:273</a></div></div>
|
|
942
943
|
<div class="ttc" id="astructSVF_1_1BufOverflowException_html_a95463e50b7e92f46cb095fd2a706257a"><div class="ttname"><a href="structSVF_1_1BufOverflowException.html#a95463e50b7e92f46cb095fd2a706257a">SVF::BufOverflowException::getAccessUb</a></div><div class="ttdeci">u32_t getAccessUb() const</div><div class="ttdef"><b>Definition:</b> <a href="BufOverflowChecker_8h_source.html#l00073">BufOverflowChecker.h:73</a></div></div>
|
|
943
944
|
<div class="ttc" id="aclassSVF_1_1BufOverflowCheckerAPI_html_adf5b059cb16c8f35146166269f9e1ebc"><div class="ttname"><a href="classSVF_1_1BufOverflowCheckerAPI.html#adf5b059cb16c8f35146166269f9e1ebc">SVF::BufOverflowCheckerAPI::_extAPIBufOverflowCheckRules</a></div><div class="ttdeci">Map< std::string, std::vector< std::pair< u32_t, u32_t > > > _extAPIBufOverflowCheckRules</div><div class="ttdef"><b>Definition:</b> <a href="BufOverflowChecker_8h_source.html#l00167">BufOverflowChecker.h:167</a></div></div>
|
|
944
|
-
<div class="ttc" id="aclassSVF_1_1AEAPI_html_afa34cb2ee3fc1ca5aa04a2afe7c2d6e8"><div class="ttname"><a href="classSVF_1_1AEAPI.html#afa34cb2ee3fc1ca5aa04a2afe7c2d6e8">SVF::AEAPI::AccessMemoryViaLoadStmt</a></div><div class="ttdeci">void AccessMemoryViaLoadStmt(const LoadStmt *load, SVF::FILOWorkList< const SVFValue * > &worklist, Set< const SVFValue * > &visited)</div><div class="ttdef"><b>Definition:</b> <a href="
|
|
945
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_afa34cb2ee3fc1ca5aa04a2afe7c2d6e8"><div class="ttname"><a href="classSVF_1_1AEAPI.html#afa34cb2ee3fc1ca5aa04a2afe7c2d6e8">SVF::AEAPI::AccessMemoryViaLoadStmt</a></div><div class="ttdeci">void AccessMemoryViaLoadStmt(const LoadStmt *load, SVF::FILOWorkList< const SVFValue * > &worklist, Set< const SVFValue * > &visited)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l01779">AbstractExecution.cpp:1779</a></div></div>
|
|
945
946
|
<div class="ttc" id="aOptions_8h_html"><div class="ttname"><a href="Options_8h.html">Options.h</a></div></div>
|
|
946
947
|
<div class="ttc" id="aclassSVF_1_1GenericBug_html_a7aeeb33097bca5f7fe6747f90f5cecacac88ddac03bb8ae09a72058e4ad7af747"><div class="ttname"><a href="classSVF_1_1GenericBug.html#a7aeeb33097bca5f7fe6747f90f5cecacac88ddac03bb8ae09a72058e4ad7af747">SVF::GenericBug::FULLBUFOVERFLOW</a></div><div class="ttdeci">@ FULLBUFOVERFLOW</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8h_source.html#l00086">SVFBugReport.h:86</a></div></div>
|
|
947
948
|
<div class="ttc" id="aclassSVF_1_1SVFFunction_html_a067bd6dbaf74a028d546fa56b095791b"><div class="ttname"><a href="classSVF_1_1SVFFunction.html#a067bd6dbaf74a028d546fa56b095791b">SVF::SVFFunction::getAnnotations</a></div><div class="ttdeci">const std::vector< std::string > & getAnnotations() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00466">SVFValue.h:466</a></div></div>
|
|
948
949
|
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a145abbd2958629718fbca41d25c3124d"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a145abbd2958629718fbca41d25c3124d">SVF::SVFUtil::getCallee</a></div><div class="ttdeci">const SVFFunction * getCallee(const CallSite cs)</div><div class="ttdoc">Return callee of a callsite. Return null if this is an indirect call.</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00241">SVFUtil.h:241</a></div></div>
|
|
949
950
|
<div class="ttc" id="aSVFType_8h_html"><div class="ttname"><a href="SVFType_8h.html">SVFType.h</a></div></div>
|
|
950
951
|
<div class="ttc" id="aclassSVF_1_1NumericLiteral_html_a4181e5e15e10304ea524e5f8b2a3f576"><div class="ttname"><a href="classSVF_1_1NumericLiteral.html#a4181e5e15e10304ea524e5f8b2a3f576">SVF::NumericLiteral::getNumeral</a></div><div class="ttdeci">s64_t getNumeral() const</div><div class="ttdoc">Return Numeral.</div><div class="ttdef"><b>Definition:</b> <a href="NumericLiteral_8h_source.html#l00118">NumericLiteral.h:118</a></div></div>
|
|
951
|
-
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a29ab312d273e6c9c32a40d61861afb04a9a492bae5e1779267055b83cf033da28"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a29ab312d273e6c9c32a40d61861afb04a9a492bae5e1779267055b83cf033da28">SVF::AEAPI::MEMCPY</a></div><div class="ttdeci">@ MEMCPY</div><div class="ttdef"><b>Definition:</b> <a href="
|
|
952
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a29ab312d273e6c9c32a40d61861afb04a9a492bae5e1779267055b83cf033da28"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a29ab312d273e6c9c32a40d61861afb04a9a492bae5e1779267055b83cf033da28">SVF::AEAPI::MEMCPY</a></div><div class="ttdeci">@ MEMCPY</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00285">AbstractExecution.h:285</a></div></div>
|
|
953
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a790c178f8c29eecfc256a5dfd97d1637"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a790c178f8c29eecfc256a5dfd97d1637">SVF::AbstractExecution::_bugLoc</a></div><div class="ttdeci">Set< std::string > _bugLoc</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00245">AbstractExecution.h:245</a></div></div>
|
|
954
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a1d725fe50a7084bfa18bd47b941af885"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a1d725fe50a7084bfa18bd47b941af885">SVF::AbstractExecution::handleSVFStatement</a></div><div class="ttdeci">virtual void handleSVFStatement(const SVFStmt *stmt)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00899">AbstractExecution.cpp:899</a></div></div>
|
|
952
955
|
<div class="ttc" id="aclassSVF_1_1StoreStmt_html"><div class="ttname"><a href="classSVF_1_1StoreStmt.html">SVF::StoreStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00400">SVFStatements.h:400</a></div></div>
|
|
953
956
|
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a66c426719f583653cb70189f01d6fda5"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a66c426719f583653cb70189f01d6fda5">SVF::SVFIR2ItvExeState::getInternalID</a></div><div class="ttdeci">static u32_t getInternalID(u32_t idx)</div><div class="ttdoc">Return the internal index if idx is an address otherwise return the value of idx.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00163">SVFIR2ItvExeState.h:163</a></div></div>
|
|
954
957
|
<div class="ttc" id="astructSVF_1_1BufOverflowException_html_a9c169e68b0c793909d643e3e266434fe"><div class="ttname"><a href="structSVF_1_1BufOverflowException.html#a9c169e68b0c793909d643e3e266434fe">SVF::BufOverflowException::getAccessLb</a></div><div class="ttdeci">u32_t getAccessLb() const</div><div class="ttdef"><b>Definition:</b> <a href="BufOverflowChecker_8h_source.html#l00063">BufOverflowChecker.h:63</a></div></div>
|
|
955
958
|
<div class="ttc" id="aclassSVF_1_1SVFValue_html"><div class="ttname"><a href="classSVF_1_1SVFValue.html">SVF::SVFValue</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00177">SVFValue.h:177</a></div></div>
|
|
956
|
-
<div class="ttc" id="aclassSVF_1_1AEAPI_html_ae0519df0b6927a2d077c3d46beeaa9f7"><div class="ttname"><a href="classSVF_1_1AEAPI.html#ae0519df0b6927a2d077c3d46beeaa9f7">SVF::AEAPI::getStrlen</a></div><div class="ttdeci">IntervalValue getStrlen(const SVF::SVFValue *strValue)</div><div class="ttdef"><b>Definition:</b> <a href="
|
|
959
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_ae0519df0b6927a2d077c3d46beeaa9f7"><div class="ttname"><a href="classSVF_1_1AEAPI.html#ae0519df0b6927a2d077c3d46beeaa9f7">SVF::AEAPI::getStrlen</a></div><div class="ttdeci">IntervalValue getStrlen(const SVF::SVFValue *strValue)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l01526">AbstractExecution.cpp:1526</a></div></div>
|
|
957
960
|
<div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
958
961
|
<div class="ttc" id="aclassSVF_1_1AssignStmt_html_a973a2b79da223275ed6a1831837b89c7"><div class="ttname"><a href="classSVF_1_1AssignStmt.html#a973a2b79da223275ed6a1831837b89c7">SVF::AssignStmt::getLHSVar</a></div><div class="ttdeci">SVFVar * getLHSVar() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00294">SVFStatements.h:294</a></div></div>
|
|
959
962
|
<div class="ttc" id="aclassSVF_1_1SVFArrayType_html"><div class="ttname"><a href="classSVF_1_1SVFArrayType.html">SVF::SVFArrayType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00377">SVFType.h:377</a></div></div>
|
|
@@ -962,10 +965,10 @@ $(function() {
|
|
|
962
965
|
<div class="ttc" id="aclassSVF_1_1SVFType_html"><div class="ttname"><a href="classSVF_1_1SVFType.html">SVF::SVFType</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00156">SVFType.h:156</a></div></div>
|
|
963
966
|
<div class="ttc" id="aclassSVF_1_1BufOverflowCheckerAPI_html_a49a9ee0125f2af00cc55c3224611f28e"><div class="ttname"><a href="classSVF_1_1BufOverflowCheckerAPI.html#a49a9ee0125f2af00cc55c3224611f28e">SVF::BufOverflowCheckerAPI::initExtFunMap</a></div><div class="ttdeci">virtual void initExtFunMap()</div><div class="ttdef"><b>Definition:</b> <a href="BufOverflowChecker_8cpp_source.html#l00133">BufOverflowChecker.cpp:133</a></div></div>
|
|
964
967
|
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a335922caf105ee72cd9d66a451ae3d4e"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a335922caf105ee72cd9d66a451ae3d4e">SVF::SVFIR2ItvExeState::getByteOffset</a></div><div class="ttdeci">IntervalValue getByteOffset(const GepStmt *gep)</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8cpp_source.html#l00274">SVFIR2ItvExeState.cpp:274</a></div></div>
|
|
965
|
-
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a29ab312d273e6c9c32a40d61861afb04a68863d4626b3cde194a0fa6da74a3313"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a29ab312d273e6c9c32a40d61861afb04a68863d4626b3cde194a0fa6da74a3313">SVF::AEAPI::MEMSET</a></div><div class="ttdeci">@ MEMSET</div><div class="ttdef"><b>Definition:</b> <a href="
|
|
968
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a29ab312d273e6c9c32a40d61861afb04a68863d4626b3cde194a0fa6da74a3313"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a29ab312d273e6c9c32a40d61861afb04a68863d4626b3cde194a0fa6da74a3313">SVF::AEAPI::MEMSET</a></div><div class="ttdeci">@ MEMSET</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00285">AbstractExecution.h:285</a></div></div>
|
|
966
969
|
<div class="ttc" id="aclassSVF_1_1ICFG_html_a5f2c0aaba07d6fdd63058da0fb60ca8b"><div class="ttname"><a href="classSVF_1_1ICFG.html#a5f2c0aaba07d6fdd63058da0fb60ca8b">SVF::ICFG::getICFGNode</a></div><div class="ttdeci">ICFGNode * getICFGNode(NodeID id) const</div><div class="ttdoc">Get a ICFG node.</div><div class="ttdef"><b>Definition:</b> <a href="ICFG_8h_source.html#l00088">ICFG.h:88</a></div></div>
|
|
967
970
|
<div class="ttc" id="aclassSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00297">SVFValue.h:297</a></div></div>
|
|
968
|
-
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a7be3da80bedb1077a99d67daa124afde"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a7be3da80bedb1077a99d67daa124afde">SVF::AEAPI::AccessMemoryViaRetNode</a></div><div class="ttdeci">void AccessMemoryViaRetNode(const CallICFGNode *callnode, SVF::FILOWorkList< const SVFValue * > &worklist, Set< const SVFValue * > &visited)</div><div class="ttdef"><b>Definition:</b> <a href="
|
|
971
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a7be3da80bedb1077a99d67daa124afde"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a7be3da80bedb1077a99d67daa124afde">SVF::AEAPI::AccessMemoryViaRetNode</a></div><div class="ttdeci">void AccessMemoryViaRetNode(const CallICFGNode *callnode, SVF::FILOWorkList< const SVFValue * > &worklist, Set< const SVFValue * > &visited)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l01745">AbstractExecution.cpp:1745</a></div></div>
|
|
969
972
|
<div class="ttc" id="aclassSVF_1_1FILOWorkList_html_afcf3fcda18e8d3e2bad70a51376c0ce1"><div class="ttname"><a href="classSVF_1_1FILOWorkList.html#afcf3fcda18e8d3e2bad70a51376c0ce1">SVF::FILOWorkList::push</a></div><div class="ttdeci">bool push(const Data &data)</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00257">WorkList.h:257</a></div></div>
|
|
970
973
|
<div class="ttc" id="aclassSVF_1_1SVFConstantInt_html"><div class="ttname"><a href="classSVF_1_1SVFConstantInt.html">SVF::SVFConstantInt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00966">SVFValue.h:966</a></div></div>
|
|
971
974
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html_adac2dc2c9f744a071ad3f0175ed40cd9"><div class="ttname"><a href="classSVF_1_1IntervalValue.html#adac2dc2c9f744a071ad3f0175ed40cd9">SVF::IntervalValue::ub</a></div><div class="ttdeci">const NumericLiteral & ub() const</div><div class="ttdoc">Return the upper bound.</div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00225">IntervalValue.h:225</a></div></div>
|
|
@@ -976,38 +979,37 @@ $(function() {
|
|
|
976
979
|
<div class="ttc" id="astructSVF_1_1BufOverflowException_html_a09144623a46e13e561db8b282440e6fc"><div class="ttname"><a href="structSVF_1_1BufOverflowException.html#a09144623a46e13e561db8b282440e6fc">SVF::BufOverflowException::getAllocUb</a></div><div class="ttdeci">u32_t getAllocUb() const</div><div class="ttdef"><b>Definition:</b> <a href="BufOverflowChecker_8h_source.html#l00053">BufOverflowChecker.h:53</a></div></div>
|
|
977
980
|
<div class="ttc" id="aclassSVF_1_1SVFVar_html"><div class="ttname"><a href="classSVF_1_1SVFVar.html">SVF::SVFVar</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00045">SVFVariables.h:45</a></div></div>
|
|
978
981
|
<div class="ttc" id="aclassSVF_1_1LoadStmt_html"><div class="ttname"><a href="classSVF_1_1LoadStmt.html">SVF::LoadStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00437">SVFStatements.h:437</a></div></div>
|
|
979
|
-
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a29ab312d273e6c9c32a40d61861afb04a2dc334d7904e139e2e2b5e9eb2a1bb0a"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a29ab312d273e6c9c32a40d61861afb04a2dc334d7904e139e2e2b5e9eb2a1bb0a">SVF::AEAPI::UNCLASSIFIED</a></div><div class="ttdeci">@ UNCLASSIFIED</div><div class="ttdef"><b>Definition:</b> <a href="
|
|
982
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a29ab312d273e6c9c32a40d61861afb04a2dc334d7904e139e2e2b5e9eb2a1bb0a"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a29ab312d273e6c9c32a40d61861afb04a2dc334d7904e139e2e2b5e9eb2a1bb0a">SVF::AEAPI::UNCLASSIFIED</a></div><div class="ttdeci">@ UNCLASSIFIED</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00285">AbstractExecution.h:285</a></div></div>
|
|
980
983
|
<div class="ttc" id="aclassSVF_1_1IntervalValue_html"><div class="ttname"><a href="classSVF_1_1IntervalValue.html">SVF::IntervalValue</a></div><div class="ttdef"><b>Definition:</b> <a href="IntervalValue_8h_source.html#l00043">IntervalValue.h:43</a></div></div>
|
|
981
984
|
<div class="ttc" id="aclassSVF_1_1BufOverflowChecker_html_a13b4beca209f7d306cf0a6065987a489"><div class="ttname"><a href="classSVF_1_1BufOverflowChecker.html#a13b4beca209f7d306cf0a6065987a489">SVF::BufOverflowChecker::handleICFGNode</a></div><div class="ttdeci">virtual void handleICFGNode(const SVF::ICFGNode *node) override</div><div class="ttdef"><b>Definition:</b> <a href="BufOverflowChecker_8cpp_source.html#l00496">BufOverflowChecker.cpp:496</a></div></div>
|
|
982
985
|
<div class="ttc" id="aclassSVF_1_1IntervalESBase_html_adb26b186ee31bce7449a7b36faa24cc2"><div class="ttname"><a href="classSVF_1_1IntervalESBase.html#adb26b186ee31bce7449a7b36faa24cc2">SVF::IntervalESBase::store</a></div><div class="ttdeci">void store(u32_t addr, const IntervalValue &val)</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00258">IntervalExeState.h:258</a></div></div>
|
|
983
986
|
<div class="ttc" id="aclassSVF_1_1GenericGraph_html_a43c9c773bfa17abf481c33073e30d01b"><div class="ttname"><a href="classSVF_1_1GenericGraph.html#a43c9c773bfa17abf481c33073e30d01b">SVF::GenericGraph::getGNode</a></div><div class="ttdeci">NodeType * getGNode(NodeID id) const</div><div class="ttdoc">Get a node.</div><div class="ttdef"><b>Definition:</b> <a href="GenericGraph_8h_source.html#l00406">GenericGraph.h:406</a></div></div>
|
|
984
987
|
<div class="ttc" id="aclassSVF_1_1Options_html_afbe432aabda95308e2c190a04d227a6d"><div class="ttname"><a href="classSVF_1_1Options.html#afbe432aabda95308e2c190a04d227a6d">SVF::Options::BufferOverflowCheck</a></div><div class="ttdeci">static const Option< bool > BufferOverflowCheck</div><div class="ttdoc">open buffer overflow checker, Default: false</div><div class="ttdef"><b>Definition:</b> <a href="Options_8h_source.html#l00271">Options.h:271</a></div></div>
|
|
985
|
-
<div class="ttc" id="aclassSVF_1_1AE_html_abea70264606aa7687d4b93e13155f96f"><div class="ttname"><a href="classSVF_1_1AE.html#abea70264606aa7687d4b93e13155f96f">SVF::AE::_svfir2ExeState</a></div><div class="ttdeci">SVFIR2ItvExeState * _svfir2ExeState</div><div class="ttdoc">Execution State, used to store the Interval Value of every SVF variable.</div><div class="ttdef"><b>Definition:</b> <a href="AE_8h_source.html#l00239">AE.h:239</a></div></div>
|
|
986
988
|
<div class="ttc" id="anamespaceSVF_html_a9b707002523ece2ac54ca893ee9a2d4e"><div class="ttname"><a href="namespaceSVF.html#a9b707002523ece2ac54ca893ee9a2d4e">SVF::s32_t</a></div><div class="ttdeci">signed s32_t</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00047">GeneralType.h:47</a></div></div>
|
|
987
989
|
<div class="ttc" id="aclassSVF_1_1GepStmt_html"><div class="ttname"><a href="classSVF_1_1GepStmt.html">SVF::GepStmt</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFStatements_8h_source.html#l00474">SVFStatements.h:474</a></div></div>
|
|
988
990
|
<div class="ttc" id="astructSVF_1_1BufOverflowException_html_af8a7272c33f826f0079d5a31f6c5d547"><div class="ttname"><a href="structSVF_1_1BufOverflowException.html#af8a7272c33f826f0079d5a31f6c5d547">SVF::BufOverflowException::getAllocLb</a></div><div class="ttdeci">u32_t getAllocLb() const</div><div class="ttdef"><b>Definition:</b> <a href="BufOverflowChecker_8h_source.html#l00043">BufOverflowChecker.h:43</a></div></div>
|
|
991
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a714fa1f4794008f630de415414cf8bfd"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a714fa1f4794008f630de415414cf8bfd">SVF::AbstractExecution::handleICFGNode</a></div><div class="ttdeci">virtual void handleICFGNode(const ICFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l00746">AbstractExecution.cpp:746</a></div></div>
|
|
989
992
|
<div class="ttc" id="aclassSVF_1_1SVFIR_html_abda052b73e869ed6d7c139ad1528da11"><div class="ttname"><a href="classSVF_1_1SVFIR.html#abda052b73e869ed6d7c139ad1528da11">SVF::SVFIR::getICFG</a></div><div class="ttdeci">ICFG * getICFG() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00170">SVFIR.h:170</a></div></div>
|
|
990
|
-
<div class="ttc" id="
|
|
993
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a26f8c21bd96ae22ca2e72af6fbfa410c"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a26f8c21bd96ae22ca2e72af6fbfa410c">SVF::AbstractExecution::_api</a></div><div class="ttdeci">AEAPI * _api</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00239">AbstractExecution.h:239</a></div></div>
|
|
991
994
|
<div class="ttc" id="aclassSVF_1_1BufOverflowChecker_html"><div class="ttname"><a href="classSVF_1_1BufOverflowChecker.html">SVF::BufOverflowChecker</a></div><div class="ttdef"><b>Definition:</b> <a href="BufOverflowChecker_8h_source.html#l00170">BufOverflowChecker.h:170</a></div></div>
|
|
992
|
-
<div class="ttc" id="aclassSVF_1_1AEAPI_html_af64d742317f2ddad87b87012225ddaaa"><div class="ttname"><a href="classSVF_1_1AEAPI.html#af64d742317f2ddad87b87012225ddaaa">SVF::AEAPI::handleExtAPI</a></div><div class="ttdeci">virtual void handleExtAPI(const CallICFGNode *call)</div><div class="ttdef"><b>Definition:</b> <a href="
|
|
995
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_af64d742317f2ddad87b87012225ddaaa"><div class="ttname"><a href="classSVF_1_1AEAPI.html#af64d742317f2ddad87b87012225ddaaa">SVF::AEAPI::handleExtAPI</a></div><div class="ttdeci">virtual void handleExtAPI(const CallICFGNode *call)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l01247">AbstractExecution.cpp:1247</a></div></div>
|
|
993
996
|
<div class="ttc" id="aclassSVF_1_1BufOverflowChecker_html_a0b79c3694a08100d2d8d1b8109998131"><div class="ttname"><a href="classSVF_1_1BufOverflowChecker.html#a0b79c3694a08100d2d8d1b8109998131">SVF::BufOverflowChecker::handleSVFStatement</a></div><div class="ttdeci">virtual void handleSVFStatement(const SVFStmt *stmt) override</div><div class="ttdef"><b>Definition:</b> <a href="BufOverflowChecker_8cpp_source.html#l00061">BufOverflowChecker.cpp:61</a></div></div>
|
|
994
997
|
<div class="ttc" id="acJSON_8cpp_html_a95bf816579e97b6f33bdb5e25ed6d5de"><div class="ttname"><a href="cJSON_8cpp.html#a95bf816579e97b6f33bdb5e25ed6d5de">offset</a></div><div class="ttdeci">buffer offset</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l01113">cJSON.cpp:1113</a></div></div>
|
|
995
998
|
<div class="ttc" id="aclassSVF_1_1BufOverflowCheckerAPI_html_a6a4afd9b4546d0a01dc869c6672f6dc6"><div class="ttname"><a href="classSVF_1_1BufOverflowCheckerAPI.html#a6a4afd9b4546d0a01dc869c6672f6dc6">SVF::BufOverflowCheckerAPI::handleExtAPI</a></div><div class="ttdeci">void handleExtAPI(const CallICFGNode *call)</div><div class="ttdef"><b>Definition:</b> <a href="BufOverflowChecker_8cpp_source.html#l00419">BufOverflowChecker.cpp:419</a></div></div>
|
|
996
|
-
<div class="ttc" id="
|
|
999
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_a49742e8c3a8fe598a0945a8d8ff394d0"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#a49742e8c3a8fe598a0945a8d8ff394d0">SVF::AbstractExecution::_svfir</a></div><div class="ttdeci">SVFIR * _svfir</div><div class="ttdoc">protected data members, also used in subclasses</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00235">AbstractExecution.h:235</a></div></div>
|
|
997
1000
|
<div class="ttc" id="aclassSVF_1_1BufOverflowCheckerAPI_html_a950ff9c290eef3ed8b4343aaa527946e"><div class="ttname"><a href="classSVF_1_1BufOverflowCheckerAPI.html#a950ff9c290eef3ed8b4343aaa527946e">SVF::BufOverflowCheckerAPI::initExtAPIBufOverflowCheckRules</a></div><div class="ttdeci">void initExtAPIBufOverflowCheckRules()</div><div class="ttdef"><b>Definition:</b> <a href="BufOverflowChecker_8cpp_source.html#l00076">BufOverflowChecker.cpp:76</a></div></div>
|
|
998
1001
|
<div class="ttc" id="aclassSVF_1_1CallSite_html"><div class="ttname"><a href="classSVF_1_1CallSite.html">SVF::CallSite</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01113">SVFValue.h:1113</a></div></div>
|
|
999
1002
|
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a56434326130c8127c823097ad764947b"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a56434326130c8127c823097ad764947b">SVF::SVFIR2ItvExeState::getEs</a></div><div class="ttdeci">IntervalExeState & getEs()</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00054">SVFIR2ItvExeState.h:54</a></div></div>
|
|
1000
1003
|
<div class="ttc" id="aclassSVF_1_1FILOWorkList_html_a071a624c91def82a4bbbf3806c7b7eea"><div class="ttname"><a href="classSVF_1_1FILOWorkList.html#a071a624c91def82a4bbbf3806c7b7eea">SVF::FILOWorkList::empty</a></div><div class="ttdeci">bool empty() const</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00238">WorkList.h:238</a></div></div>
|
|
1001
1004
|
<div class="ttc" id="aclassSVF_1_1SVFValue_html_a4a0cfe3a8f37d33ffcdca3d66026dcc3"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a4a0cfe3a8f37d33ffcdca3d66026dcc3">SVF::SVFValue::toString</a></div><div class="ttdeci">std::string toString() const</div><div class="ttdoc">Needs to be implemented by a SVF front end.</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8cpp_source.html#l00904">LLVMUtil.cpp:904</a></div></div>
|
|
1002
1005
|
<div class="ttc" id="aclassSVF_1_1AddressValue_html"><div class="ttname"><a href="classSVF_1_1AddressValue.html">SVF::AddressValue</a></div><div class="ttdef"><b>Definition:</b> <a href="AddressValue_8h_source.html#l00043">AddressValue.h:43</a></div></div>
|
|
1003
|
-
<div class="ttc" id="
|
|
1004
|
-
<div class="ttc" id="
|
|
1006
|
+
<div class="ttc" id="aclassSVF_1_1AbstractExecution_html_ab9d6ebcf67ec473ce7ad5910c74eddc1"><div class="ttname"><a href="classSVF_1_1AbstractExecution.html#ab9d6ebcf67ec473ce7ad5910c74eddc1">SVF::AbstractExecution::_callSiteStack</a></div><div class="ttdeci">std::vector< const CallICFGNode * > _callSiteStack</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00247">AbstractExecution.h:247</a></div></div>
|
|
1007
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a29ab312d273e6c9c32a40d61861afb04aadccf4db29e170b4d669ef023866a28d"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a29ab312d273e6c9c32a40d61861afb04aadccf4db29e170b4d669ef023866a28d">SVF::AEAPI::STRCPY</a></div><div class="ttdeci">@ STRCPY</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00285">AbstractExecution.h:285</a></div></div>
|
|
1008
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_ab47136a3fee89fa6cad5ddb95306f27f"><div class="ttname"><a href="classSVF_1_1AEAPI.html#ab47136a3fee89fa6cad5ddb95306f27f">SVF::AEAPI::_func_map</a></div><div class="ttdeci">Map< std::string, std::function< void(const CallSite &)> > _func_map</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00428">AbstractExecution.h:428</a></div></div>
|
|
1005
1009
|
<div class="ttc" id="aclassSVF_1_1BufOverflowCheckerAPI_html_ae88696790ca4f3392c7dc76c74619f46"><div class="ttname"><a href="classSVF_1_1BufOverflowCheckerAPI.html#ae88696790ca4f3392c7dc76c74619f46">SVF::BufOverflowCheckerAPI::detectStrcat</a></div><div class="ttdeci">bool detectStrcat(const CallICFGNode *call)</div><div class="ttdef"><b>Definition:</b> <a href="BufOverflowChecker_8cpp_source.html#l00381">BufOverflowChecker.cpp:381</a></div></div>
|
|
1006
1010
|
<div class="ttc" id="acJSON_8cpp_html_a7669ee67a0563250c1efaa24d130e1ac"><div class="ttname"><a href="cJSON_8cpp.html#a7669ee67a0563250c1efaa24d130e1ac">copy</a></div><div class="ttdeci">copy</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8cpp_source.html#l00414">cJSON.cpp:414</a></div></div>
|
|
1007
|
-
<div class="ttc" id="
|
|
1008
|
-
<div class="ttc" id="aclassSVF_1_1AEAPI_html_ace3e82bcfbb4495a765e01d75a58dc3f"><div class="ttname"><a href="classSVF_1_1AEAPI.html#ace3e82bcfbb4495a765e01d75a58dc3f">SVF::AEAPI::_checkpoint_names</a></div><div class="ttdeci">Set< std::string > _checkpoint_names</div><div class="ttdef"><b>Definition:</b> <a href="AE_8h_source.html#l00432">AE.h:432</a></div></div>
|
|
1011
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_ace3e82bcfbb4495a765e01d75a58dc3f"><div class="ttname"><a href="classSVF_1_1AEAPI.html#ace3e82bcfbb4495a765e01d75a58dc3f">SVF::AEAPI::_checkpoint_names</a></div><div class="ttdeci">Set< std::string > _checkpoint_names</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00431">AbstractExecution.h:431</a></div></div>
|
|
1009
1012
|
<div class="ttc" id="aclassSVF_1_1BufOverflowCheckerAPI_html_a296a3ea0f8df72ce6480b5cb0f207945"><div class="ttname"><a href="classSVF_1_1BufOverflowCheckerAPI.html#a296a3ea0f8df72ce6480b5cb0f207945">SVF::BufOverflowCheckerAPI::detectStrcpy</a></div><div class="ttdeci">bool detectStrcpy(const CallICFGNode *call)</div><div class="ttdef"><b>Definition:</b> <a href="BufOverflowChecker_8cpp_source.html#l00123">BufOverflowChecker.cpp:123</a></div></div>
|
|
1010
|
-
<div class="ttc" id="aclassSVF_1_1AE_html_a1194ad55118ba76071d858d66c964241"><div class="ttname"><a href="classSVF_1_1AE.html#a1194ad55118ba76071d858d66c964241">SVF::AE::_bugLoc</a></div><div class="ttdeci">Set< std::string > _bugLoc</div><div class="ttdef"><b>Definition:</b> <a href="AE_8h_source.html#l00246">AE.h:246</a></div></div>
|
|
1011
1013
|
<div class="ttc" id="aclassSVF_1_1IntervalExeState_html_ad485a35730353c0e945bc84a034d9e45"><div class="ttname"><a href="classSVF_1_1IntervalExeState.html#ad485a35730353c0e945bc84a034d9e45">SVF::IntervalExeState::inVarToAddrsTable</a></div><div class="ttdeci">bool inVarToAddrsTable(u32_t id) const override</div><div class="ttdoc">whether the variable is in varToAddrs table</div><div class="ttdef"><b>Definition:</b> <a href="IntervalExeState_8h_source.html#l00474">IntervalExeState.h:474</a></div></div>
|
|
1012
1014
|
<div class="ttc" id="aclassSVF_1_1FILOWorkList_html_a3fd9acb6d09fd142bfd402fdf8cac93b"><div class="ttname"><a href="classSVF_1_1FILOWorkList.html#a3fd9acb6d09fd142bfd402fdf8cac93b">SVF::FILOWorkList::pop</a></div><div class="ttdeci">Data pop()</div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00272">WorkList.h:272</a></div></div>
|
|
1013
1015
|
<div class="ttc" id="aclassSVF_1_1FILOWorkList_html"><div class="ttname"><a href="classSVF_1_1FILOWorkList.html">SVF::FILOWorkList</a></div><div class="ttdef"><b>Definition:</b> <a href="WorkList_8h_source.html#l00229">WorkList.h:229</a></div></div>
|
|
@@ -1017,17 +1019,15 @@ $(function() {
|
|
|
1017
1019
|
<div class="ttc" id="aclassSVF_1_1SVFVar_html_ab6f95d3e7e099d75cfc9645ebc037047"><div class="ttname"><a href="classSVF_1_1SVFVar.html#ab6f95d3e7e099d75cfc9645ebc037047">SVF::SVFVar::getType</a></div><div class="ttdeci">virtual const SVFType * getType() const</div><div class="ttdoc">Return type of the value.</div><div class="ttdef"><b>Definition:</b> <a href="SVFVariables_8h_source.html#l00107">SVFVariables.h:107</a></div></div>
|
|
1018
1020
|
<div class="ttc" id="aclassSVF_1_1SVFArgument_html"><div class="ttname"><a href="classSVF_1_1SVFArgument.html">SVF::SVFArgument</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00897">SVFValue.h:897</a></div></div>
|
|
1019
1021
|
<div class="ttc" id="aclassSVF_1_1SVFBugEvent_html"><div class="ttname"><a href="classSVF_1_1SVFBugEvent.html">SVF::SVFBugEvent</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8h_source.html#l00051">SVFBugReport.h:51</a></div></div>
|
|
1020
|
-
<div class="ttc" id="aclassSVF_1_1AE_html_a0fdd00ba2e2c826043bb481e67fae397"><div class="ttname"><a href="classSVF_1_1AE.html#a0fdd00ba2e2c826043bb481e67fae397">SVF::AE::handleSVFStatement</a></div><div class="ttdeci">virtual void handleSVFStatement(const SVFStmt *stmt)</div><div class="ttdef"><b>Definition:</b> <a href="AE_8cpp_source.html#l00899">AE.cpp:899</a></div></div>
|
|
1021
1022
|
<div class="ttc" id="aclassSVF_1_1SVFArrayType_html_a28da1169748e38b891133b76568a2759"><div class="ttname"><a href="classSVF_1_1SVFArrayType.html#a28da1169748e38b891133b76568a2759">SVF::SVFArrayType::getTypeOfElement</a></div><div class="ttdeci">const SVFType * getTypeOfElement() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFType_8h_source.html#l00399">SVFType.h:399</a></div></div>
|
|
1022
1023
|
<div class="ttc" id="aclassSVF_1_1SVFInstruction_html"><div class="ttname"><a href="classSVF_1_1SVFInstruction.html">SVF::SVFInstruction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00631">SVFValue.h:631</a></div></div>
|
|
1023
|
-
<div class="ttc" id="
|
|
1024
|
-
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a29ab312d273e6c9c32a40d61861afb04"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a29ab312d273e6c9c32a40d61861afb04">SVF::AEAPI::ExtAPIType</a></div><div class="ttdeci">ExtAPIType</div><div class="ttdef"><b>Definition:</b> <a href="AE_8h_source.html#l00286">AE.h:286</a></div></div>
|
|
1024
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a29ab312d273e6c9c32a40d61861afb04"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a29ab312d273e6c9c32a40d61861afb04">SVF::AEAPI::ExtAPIType</a></div><div class="ttdeci">ExtAPIType</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8h_source.html#l00285">AbstractExecution.h:285</a></div></div>
|
|
1025
1025
|
<div class="ttc" id="anamespaceSVF_html_a8234d4b959abc9123993bcff4eee34c1"><div class="ttname"><a href="namespaceSVF.html#a8234d4b959abc9123993bcff4eee34c1">SVF::Map</a></div><div class="ttdeci">std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > Map</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00097">GeneralType.h:97</a></div></div>
|
|
1026
1026
|
<div class="ttc" id="aclassSVF_1_1CallSite_html_a9e7c94ee7f689466111487e03b2cebcc"><div class="ttname"><a href="classSVF_1_1CallSite.html#a9e7c94ee7f689466111487e03b2cebcc">SVF::CallSite::getArgument</a></div><div class="ttdeci">const SVFValue * getArgument(u32_t ArgNo) const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l01132">SVFValue.h:1132</a></div></div>
|
|
1027
|
-
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a112519b672206ac552273666949eeb3b"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a112519b672206ac552273666949eeb3b">SVF::AEAPI::getPointeeElement</a></div><div class="ttdeci">const SVFType * getPointeeElement(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="
|
|
1027
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a112519b672206ac552273666949eeb3b"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a112519b672206ac552273666949eeb3b">SVF::AEAPI::getPointeeElement</a></div><div class="ttdeci">const SVFType * getPointeeElement(NodeID id)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l01673">AbstractExecution.cpp:1673</a></div></div>
|
|
1028
1028
|
<div class="ttc" id="anamespaceSVF_html_ad42bff8d0a7d60a085aa32d10f4955af"><div class="ttname"><a href="namespaceSVF.html#ad42bff8d0a7d60a085aa32d10f4955af">SVF::u32_t</a></div><div class="ttdeci">unsigned u32_t</div><div class="ttdef"><b>Definition:</b> <a href="GeneralType_8h_source.html#l00046">GeneralType.h:46</a></div></div>
|
|
1029
1029
|
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_ab65033f068bfbeb0a1c52dcec3beb6bc"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVF::SVFUtil::errs</a></div><div class="ttdeci">std::ostream & errs()</div><div class="ttdoc">Overwrite llvm::errs()</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8h_source.html#l00056">SVFUtil.h:56</a></div></div>
|
|
1030
|
-
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a3665513f6e8f8b93ef3f9d273d03ee70"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a3665513f6e8f8b93ef3f9d273d03ee70">SVF::AEAPI::AccessMemoryViaCopyStmt</a></div><div class="ttdeci">void AccessMemoryViaCopyStmt(const CopyStmt *copy, SVF::FILOWorkList< const SVFValue * > &worklist, Set< const SVFValue * > &visited)</div><div class="ttdef"><b>Definition:</b> <a href="
|
|
1030
|
+
<div class="ttc" id="aclassSVF_1_1AEAPI_html_a3665513f6e8f8b93ef3f9d273d03ee70"><div class="ttname"><a href="classSVF_1_1AEAPI.html#a3665513f6e8f8b93ef3f9d273d03ee70">SVF::AEAPI::AccessMemoryViaCopyStmt</a></div><div class="ttdeci">void AccessMemoryViaCopyStmt(const CopyStmt *copy, SVF::FILOWorkList< const SVFValue * > &worklist, Set< const SVFValue * > &visited)</div><div class="ttdef"><b>Definition:</b> <a href="AbstractExecution_8cpp_source.html#l01770">AbstractExecution.cpp:1770</a></div></div>
|
|
1031
1031
|
<div class="ttc" id="aclassSVF_1_1SVFIR2ItvExeState_html_a999c358b80dd07591b0432eaa41c20c9"><div class="ttname"><a href="classSVF_1_1SVFIR2ItvExeState.html#a999c358b80dd07591b0432eaa41c20c9">SVF::SVFIR2ItvExeState::inVarToAddrsTable</a></div><div class="ttdeci">bool inVarToAddrsTable(u32_t id) const</div><div class="ttdoc">whether the variable is in varToAddrs table</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR2ItvExeState_8h_source.html#l00120">SVFIR2ItvExeState.h:120</a></div></div>
|
|
1032
1032
|
<div class="ttc" id="aclassSVF_1_1BufOverflowChecker_html_a7c11b81809cb087317cbea654a589f75"><div class="ttname"><a href="classSVF_1_1BufOverflowChecker.html#a7c11b81809cb087317cbea654a589f75">SVF::BufOverflowChecker::addBugToRecoder</a></div><div class="ttdeci">void addBugToRecoder(const BufOverflowException &e, const ICFGNode *node)</div><div class="ttdef"><b>Definition:</b> <a href="BufOverflowChecker_8cpp_source.html#l00560">BufOverflowChecker.cpp:560</a></div></div>
|
|
1033
1033
|
<!-- start footer part -->
|