svf-tools 1.0.747 → 1.0.749
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/SVF-doxygen/html/html/SVFBugReport_8cpp_source.html +168 -144
- package/SVF-doxygen/html/html/SVFBugReport_8h.html +4 -0
- package/SVF-doxygen/html/html/SVFBugReport_8h_source.html +167 -125
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SrcSnkSolver_8h_source.html +5 -4
- package/SVF-doxygen/html/html/annotated.html +292 -290
- package/SVF-doxygen/html/html/classSVF_1_1BufferOverflowBug-members.html +11 -9
- package/SVF-doxygen/html/html/classSVF_1_1BufferOverflowBug.html +4 -1
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeBug-members.html +11 -9
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeBug.html +4 -1
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FileNeverCloseBug-members.html +11 -9
- package/SVF-doxygen/html/html/classSVF_1_1FileNeverCloseBug.html +4 -1
- package/SVF-doxygen/html/html/classSVF_1_1FilePartialCloseBug-members.html +11 -9
- package/SVF-doxygen/html/html/classSVF_1_1FilePartialCloseBug.html +4 -1
- package/SVF-doxygen/html/html/classSVF_1_1FullBufferOverflowBug-members.html +11 -9
- package/SVF-doxygen/html/html/classSVF_1_1FullBufferOverflowBug.html +4 -1
- package/SVF-doxygen/html/html/classSVF_1_1FullNullPtrDereferenceBug-members.html +107 -0
- package/SVF-doxygen/html/html/classSVF_1_1FullNullPtrDereferenceBug.html +302 -0
- package/SVF-doxygen/html/html/classSVF_1_1FullNullPtrDereferenceBug.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1GenericBug-members.html +11 -9
- package/SVF-doxygen/html/html/classSVF_1_1GenericBug.html +21 -14
- package/SVF-doxygen/html/html/classSVF_1_1GenericBug.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1NeverFreeBug-members.html +12 -10
- package/SVF-doxygen/html/html/classSVF_1_1NeverFreeBug.html +4 -1
- package/SVF-doxygen/html/html/classSVF_1_1PartialBufferOverflowBug-members.html +12 -10
- package/SVF-doxygen/html/html/classSVF_1_1PartialBufferOverflowBug.html +4 -1
- package/SVF-doxygen/html/html/classSVF_1_1PartialLeakBug-members.html +12 -10
- package/SVF-doxygen/html/html/classSVF_1_1PartialLeakBug.html +4 -1
- package/SVF-doxygen/html/html/classSVF_1_1PartialNullPtrDereferenceBug-members.html +107 -0
- package/SVF-doxygen/html/html/classSVF_1_1PartialNullPtrDereferenceBug.html +302 -0
- package/SVF-doxygen/html/html/classSVF_1_1PartialNullPtrDereferenceBug.png +0 -0
- package/SVF-doxygen/html/html/classSVF_1_1SVFBugEvent.html +49 -49
- package/SVF-doxygen/html/html/classSVF_1_1SVFBugReport.html +169 -169
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver-members.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver.html +12 -12
- package/SVF-doxygen/html/html/classes.html +334 -332
- package/SVF-doxygen/html/html/functions_c.html +21 -17
- package/SVF-doxygen/html/html/functions_eval_f.html +3 -0
- package/SVF-doxygen/html/html/functions_eval_p.html +3 -0
- package/SVF-doxygen/html/html/functions_f.html +21 -15
- package/SVF-doxygen/html/html/functions_func_c.html +23 -21
- package/SVF-doxygen/html/html/functions_func_f.html +3 -0
- package/SVF-doxygen/html/html/functions_func_g.html +19 -17
- package/SVF-doxygen/html/html/functions_func_p.html +8 -3
- package/SVF-doxygen/html/html/functions_g.html +21 -19
- package/SVF-doxygen/html/html/functions_i.html +2 -2
- package/SVF-doxygen/html/html/functions_l.html +5 -5
- package/SVF-doxygen/html/html/functions_o.html +17 -17
- package/SVF-doxygen/html/html/functions_p.html +34 -28
- package/SVF-doxygen/html/html/functions_r.html +2 -2
- package/SVF-doxygen/html/html/functions_s.html +11 -11
- package/SVF-doxygen/html/html/functions_t.html +4 -4
- package/SVF-doxygen/html/html/functions_type_g.html +1 -1
- package/SVF-doxygen/html/html/functions_type_i.html +1 -1
- package/SVF-doxygen/html/html/functions_w.html +9 -9
- package/SVF-doxygen/html/html/hierarchy.html +4 -2
- package/SVF-doxygen/html/html/namespaceSVF.html +4 -0
- package/SVF-doxygen/html/html/search/all_10.js +325 -323
- package/SVF-doxygen/html/html/search/all_11.js +208 -208
- package/SVF-doxygen/html/html/search/all_12.js +546 -546
- package/SVF-doxygen/html/html/search/all_13.js +189 -189
- package/SVF-doxygen/html/html/search/all_14.js +66 -66
- package/SVF-doxygen/html/html/search/all_15.js +170 -170
- package/SVF-doxygen/html/html/search/all_16.js +60 -60
- package/SVF-doxygen/html/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/html/search/all_18.js +1 -1
- package/SVF-doxygen/html/html/search/all_19.js +10 -10
- package/SVF-doxygen/html/html/search/all_1a.js +169 -169
- package/SVF-doxygen/html/html/search/all_3.js +1 -1
- package/SVF-doxygen/html/html/search/all_6.js +70 -68
- package/SVF-doxygen/html/html/search/all_7.js +1012 -1012
- package/SVF-doxygen/html/html/search/all_8.js +192 -192
- package/SVF-doxygen/html/html/search/all_9.js +597 -597
- package/SVF-doxygen/html/html/search/all_a.js +47 -47
- package/SVF-doxygen/html/html/search/all_b.js +26 -26
- package/SVF-doxygen/html/html/search/all_c.js +113 -113
- package/SVF-doxygen/html/html/search/all_d.js +196 -196
- package/SVF-doxygen/html/html/search/all_e.js +206 -206
- package/SVF-doxygen/html/html/search/all_f.js +122 -122
- package/SVF-doxygen/html/html/search/classes_0.js +26 -26
- package/SVF-doxygen/html/html/search/classes_1.js +9 -9
- package/SVF-doxygen/html/html/search/classes_10.js +73 -73
- package/SVF-doxygen/html/html/search/classes_11.js +15 -15
- package/SVF-doxygen/html/html/search/classes_12.js +2 -2
- package/SVF-doxygen/html/html/search/classes_13.js +10 -10
- package/SVF-doxygen/html/html/search/classes_14.js +14 -14
- package/SVF-doxygen/html/html/search/classes_15.js +1 -1
- package/SVF-doxygen/html/html/search/classes_2.js +76 -76
- package/SVF-doxygen/html/html/search/classes_3.js +35 -35
- package/SVF-doxygen/html/html/search/classes_4.js +10 -10
- package/SVF-doxygen/html/html/search/classes_5.js +28 -27
- package/SVF-doxygen/html/html/search/classes_6.js +98 -98
- package/SVF-doxygen/html/html/search/classes_7.js +33 -33
- package/SVF-doxygen/html/html/search/classes_8.js +56 -56
- package/SVF-doxygen/html/html/search/classes_9.js +1 -1
- package/SVF-doxygen/html/html/search/classes_a.js +12 -12
- package/SVF-doxygen/html/html/search/classes_b.js +29 -29
- package/SVF-doxygen/html/html/search/classes_c.js +6 -6
- package/SVF-doxygen/html/html/search/classes_d.js +19 -19
- package/SVF-doxygen/html/html/search/classes_e.js +36 -35
- package/SVF-doxygen/html/html/search/classes_f.js +25 -25
- package/SVF-doxygen/html/html/search/defines_0.js +3 -3
- package/SVF-doxygen/html/html/search/defines_1.js +2 -2
- package/SVF-doxygen/html/html/search/defines_2.js +30 -30
- package/SVF-doxygen/html/html/search/defines_3.js +20 -20
- package/SVF-doxygen/html/html/search/defines_4.js +3 -3
- package/SVF-doxygen/html/html/search/defines_5.js +4 -4
- package/SVF-doxygen/html/html/search/defines_6.js +2 -2
- package/SVF-doxygen/html/html/search/defines_7.js +5 -5
- package/SVF-doxygen/html/html/search/defines_8.js +13 -13
- package/SVF-doxygen/html/html/search/defines_9.js +9 -9
- package/SVF-doxygen/html/html/search/defines_a.js +2 -2
- package/SVF-doxygen/html/html/search/defines_b.js +2 -2
- package/SVF-doxygen/html/html/search/defines_c.js +2 -2
- package/SVF-doxygen/html/html/search/defines_d.js +6 -6
- package/SVF-doxygen/html/html/search/defines_e.js +3 -3
- package/SVF-doxygen/html/html/search/enums_0.js +3 -3
- package/SVF-doxygen/html/html/search/enums_1.js +1 -1
- package/SVF-doxygen/html/html/search/enums_10.js +1 -1
- package/SVF-doxygen/html/html/search/enums_11.js +1 -1
- package/SVF-doxygen/html/html/search/enums_2.js +8 -8
- package/SVF-doxygen/html/html/search/enums_3.js +1 -1
- package/SVF-doxygen/html/html/search/enums_4.js +4 -4
- package/SVF-doxygen/html/html/search/enums_5.js +1 -1
- package/SVF-doxygen/html/html/search/enums_6.js +2 -2
- package/SVF-doxygen/html/html/search/enums_7.js +2 -2
- package/SVF-doxygen/html/html/search/enums_8.js +4 -4
- package/SVF-doxygen/html/html/search/enums_9.js +1 -1
- package/SVF-doxygen/html/html/search/enums_a.js +2 -2
- package/SVF-doxygen/html/html/search/enums_b.js +7 -7
- package/SVF-doxygen/html/html/search/enums_c.js +1 -1
- package/SVF-doxygen/html/html/search/enums_d.js +4 -4
- package/SVF-doxygen/html/html/search/enums_e.js +2 -2
- package/SVF-doxygen/html/html/search/enums_f.js +4 -4
- package/SVF-doxygen/html/html/search/enumvalues_0.js +14 -14
- package/SVF-doxygen/html/html/search/enumvalues_1.js +13 -13
- package/SVF-doxygen/html/html/search/enumvalues_10.js +35 -35
- package/SVF-doxygen/html/html/search/enumvalues_11.js +3 -3
- package/SVF-doxygen/html/html/search/enumvalues_12.js +10 -10
- package/SVF-doxygen/html/html/search/enumvalues_13.js +1 -1
- package/SVF-doxygen/html/html/search/enumvalues_14.js +1 -1
- package/SVF-doxygen/html/html/search/enumvalues_15.js +3 -3
- package/SVF-doxygen/html/html/search/enumvalues_2.js +40 -40
- package/SVF-doxygen/html/html/search/enumvalues_3.js +13 -13
- package/SVF-doxygen/html/html/search/enumvalues_4.js +34 -34
- package/SVF-doxygen/html/html/search/enumvalues_5.js +48 -47
- package/SVF-doxygen/html/html/search/enumvalues_6.js +6 -6
- package/SVF-doxygen/html/html/search/enumvalues_7.js +9 -9
- package/SVF-doxygen/html/html/search/enumvalues_8.js +23 -23
- package/SVF-doxygen/html/html/search/enumvalues_9.js +6 -6
- package/SVF-doxygen/html/html/search/enumvalues_a.js +17 -17
- package/SVF-doxygen/html/html/search/enumvalues_b.js +11 -11
- package/SVF-doxygen/html/html/search/enumvalues_c.js +6 -6
- package/SVF-doxygen/html/html/search/enumvalues_d.js +17 -16
- package/SVF-doxygen/html/html/search/enumvalues_e.js +11 -11
- package/SVF-doxygen/html/html/search/enumvalues_f.js +45 -45
- package/SVF-doxygen/html/html/search/files_0.js +13 -13
- package/SVF-doxygen/html/html/search/files_1.js +7 -7
- package/SVF-doxygen/html/html/search/files_10.js +8 -8
- package/SVF-doxygen/html/html/search/files_11.js +8 -8
- package/SVF-doxygen/html/html/search/files_12.js +2 -2
- package/SVF-doxygen/html/html/search/files_2.js +50 -50
- package/SVF-doxygen/html/html/search/files_3.js +14 -14
- package/SVF-doxygen/html/html/search/files_4.js +4 -4
- package/SVF-doxygen/html/html/search/files_5.js +13 -13
- package/SVF-doxygen/html/html/search/files_6.js +9 -9
- package/SVF-doxygen/html/html/search/files_7.js +14 -14
- package/SVF-doxygen/html/html/search/files_8.js +13 -13
- package/SVF-doxygen/html/html/search/files_9.js +18 -18
- package/SVF-doxygen/html/html/search/files_a.js +3 -3
- package/SVF-doxygen/html/html/search/files_b.js +2 -2
- package/SVF-doxygen/html/html/search/files_c.js +19 -19
- package/SVF-doxygen/html/html/search/files_d.js +4 -4
- package/SVF-doxygen/html/html/search/files_e.js +62 -62
- package/SVF-doxygen/html/html/search/files_f.js +8 -8
- package/SVF-doxygen/html/html/search/functions_0.js +351 -351
- package/SVF-doxygen/html/html/search/functions_1.js +80 -80
- package/SVF-doxygen/html/html/search/functions_10.js +121 -121
- package/SVF-doxygen/html/html/search/functions_11.js +282 -282
- package/SVF-doxygen/html/html/search/functions_12.js +55 -55
- package/SVF-doxygen/html/html/search/functions_13.js +38 -38
- package/SVF-doxygen/html/html/search/functions_14.js +71 -71
- package/SVF-doxygen/html/html/search/functions_15.js +29 -29
- package/SVF-doxygen/html/html/search/functions_16.js +2 -2
- package/SVF-doxygen/html/html/search/functions_17.js +169 -169
- package/SVF-doxygen/html/html/search/functions_2.js +251 -251
- package/SVF-doxygen/html/html/search/functions_3.js +72 -72
- package/SVF-doxygen/html/html/search/functions_4.js +55 -55
- package/SVF-doxygen/html/html/search/functions_5.js +55 -54
- package/SVF-doxygen/html/html/search/functions_6.js +832 -832
- package/SVF-doxygen/html/html/search/functions_7.js +144 -144
- package/SVF-doxygen/html/html/search/functions_8.js +417 -417
- package/SVF-doxygen/html/html/search/functions_9.js +29 -29
- package/SVF-doxygen/html/html/search/functions_a.js +2 -2
- package/SVF-doxygen/html/html/search/functions_b.js +23 -23
- package/SVF-doxygen/html/html/search/functions_c.js +75 -75
- package/SVF-doxygen/html/html/search/functions_d.js +35 -35
- package/SVF-doxygen/html/html/search/functions_e.js +56 -56
- package/SVF-doxygen/html/html/search/functions_f.js +143 -142
- package/SVF-doxygen/html/html/search/namespaces_0.js +1 -1
- package/SVF-doxygen/html/html/search/namespaces_1.js +7 -7
- package/SVF-doxygen/html/html/search/related_0.js +2 -2
- package/SVF-doxygen/html/html/search/related_1.js +1 -1
- package/SVF-doxygen/html/html/search/related_2.js +2 -2
- package/SVF-doxygen/html/html/search/related_3.js +2 -2
- package/SVF-doxygen/html/html/search/related_4.js +2 -2
- package/SVF-doxygen/html/html/search/related_5.js +1 -1
- package/SVF-doxygen/html/html/search/related_6.js +2 -2
- package/SVF-doxygen/html/html/search/related_7.js +4 -4
- package/SVF-doxygen/html/html/search/related_8.js +2 -2
- package/SVF-doxygen/html/html/search/related_9.js +4 -4
- package/SVF-doxygen/html/html/search/related_a.js +19 -19
- package/SVF-doxygen/html/html/search/related_b.js +4 -4
- package/SVF-doxygen/html/html/search/related_c.js +1 -1
- package/SVF-doxygen/html/html/search/related_d.js +11 -11
- package/SVF-doxygen/html/html/search/related_e.js +2 -2
- package/SVF-doxygen/html/html/search/related_f.js +2 -2
- package/SVF-doxygen/html/html/search/typedefs_0.js +18 -18
- package/SVF-doxygen/html/html/search/typedefs_1.js +25 -25
- package/SVF-doxygen/html/html/search/typedefs_10.js +60 -60
- package/SVF-doxygen/html/html/search/typedefs_11.js +13 -13
- package/SVF-doxygen/html/html/search/typedefs_12.js +11 -11
- package/SVF-doxygen/html/html/search/typedefs_13.js +35 -35
- package/SVF-doxygen/html/html/search/typedefs_14.js +8 -8
- package/SVF-doxygen/html/html/search/typedefs_2.js +126 -126
- package/SVF-doxygen/html/html/search/typedefs_3.js +39 -39
- package/SVF-doxygen/html/html/search/typedefs_4.js +16 -16
- package/SVF-doxygen/html/html/search/typedefs_5.js +41 -41
- package/SVF-doxygen/html/html/search/typedefs_6.js +52 -52
- package/SVF-doxygen/html/html/search/typedefs_7.js +40 -40
- package/SVF-doxygen/html/html/search/typedefs_8.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_9.js +6 -6
- package/SVF-doxygen/html/html/search/typedefs_a.js +29 -29
- package/SVF-doxygen/html/html/search/typedefs_b.js +29 -29
- package/SVF-doxygen/html/html/search/typedefs_c.js +40 -40
- package/SVF-doxygen/html/html/search/typedefs_d.js +15 -15
- package/SVF-doxygen/html/html/search/typedefs_e.js +52 -52
- package/SVF-doxygen/html/html/search/typedefs_f.js +14 -14
- package/SVF-doxygen/html/html/search/variables_0.js +146 -146
- package/SVF-doxygen/html/html/search/variables_1.js +74 -74
- package/SVF-doxygen/html/html/search/variables_10.js +97 -97
- package/SVF-doxygen/html/html/search/variables_11.js +46 -46
- package/SVF-doxygen/html/html/search/variables_12.js +93 -93
- package/SVF-doxygen/html/html/search/variables_13.js +77 -77
- package/SVF-doxygen/html/html/search/variables_14.js +14 -14
- package/SVF-doxygen/html/html/search/variables_15.js +48 -48
- package/SVF-doxygen/html/html/search/variables_16.js +9 -9
- package/SVF-doxygen/html/html/search/variables_17.js +1 -1
- package/SVF-doxygen/html/html/search/variables_18.js +2 -2
- package/SVF-doxygen/html/html/search/variables_2.js +35 -35
- package/SVF-doxygen/html/html/search/variables_3.js +148 -148
- package/SVF-doxygen/html/html/search/variables_4.js +56 -56
- package/SVF-doxygen/html/html/search/variables_5.js +40 -40
- package/SVF-doxygen/html/html/search/variables_6.js +67 -67
- package/SVF-doxygen/html/html/search/variables_7.js +33 -33
- package/SVF-doxygen/html/html/search/variables_8.js +7 -7
- package/SVF-doxygen/html/html/search/variables_9.js +77 -77
- package/SVF-doxygen/html/html/search/variables_a.js +4 -4
- package/SVF-doxygen/html/html/search/variables_b.js +10 -10
- package/SVF-doxygen/html/html/search/variables_c.js +45 -45
- package/SVF-doxygen/html/html/search/variables_d.js +56 -56
- package/SVF-doxygen/html/html/search/variables_e.js +123 -123
- package/SVF-doxygen/html/html/search/variables_f.js +33 -33
- package/package.json +1 -1
- package/svf/include/SABER/SrcSnkSolver.h +2 -2
- package/svf/include/Util/SVFBugReport.h +33 -1
- package/svf/lib/Util/SVFBugReport.cpp +24 -0
|
@@ -321,150 +321,174 @@ $(function() {
|
|
|
321
321
|
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <span class="stringliteral">"\n"</span>;</div>
|
|
322
322
|
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> }</div>
|
|
323
323
|
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  </div>
|
|
324
|
-
<div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="
|
|
324
|
+
<div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="classSVF_1_1FullNullPtrDereferenceBug.html#a8f057178ee7182d691dbb3103d0d0d43"> 253</a></span> <a class="code" href="structcJSON.html">cJSON</a> *FullNullPtrDereferenceBug::getBugDescription()<span class="keyword"> const</span></div>
|
|
325
325
|
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keyword"></span>{</div>
|
|
326
|
-
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <
|
|
327
|
-
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> 
|
|
328
|
-
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> 
|
|
329
|
-
<div class="line"><a name="l00258"></a><span class="lineno"
|
|
330
|
-
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="
|
|
331
|
-
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> 
|
|
332
|
-
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span> 
|
|
333
|
-
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> 
|
|
334
|
-
<div class="line"><a name="l00263"></a><span class="lineno"
|
|
335
|
-
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> 
|
|
336
|
-
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> 
|
|
337
|
-
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> 
|
|
338
|
-
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <
|
|
339
|
-
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> 
|
|
340
|
-
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> 
|
|
341
|
-
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> 
|
|
342
|
-
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> 
|
|
343
|
-
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> 
|
|
344
|
-
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> 
|
|
345
|
-
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> 
|
|
346
|
-
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> 
|
|
347
|
-
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> 
|
|
348
|
-
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> 
|
|
349
|
-
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> 
|
|
350
|
-
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="keywordflow">
|
|
351
|
-
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> 
|
|
352
|
-
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> 
|
|
353
|
-
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> 
|
|
354
|
-
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> 
|
|
355
|
-
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> 
|
|
356
|
-
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> 
|
|
357
|
-
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> 
|
|
358
|
-
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> 
|
|
359
|
-
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> 
|
|
360
|
-
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> 
|
|
361
|
-
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> 
|
|
362
|
-
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span> 
|
|
363
|
-
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span> 
|
|
364
|
-
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> 
|
|
365
|
-
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> 
|
|
366
|
-
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> 
|
|
367
|
-
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> 
|
|
368
|
-
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> 
|
|
369
|
-
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> 
|
|
370
|
-
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> 
|
|
371
|
-
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> 
|
|
372
|
-
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> 
|
|
326
|
+
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
|
|
327
|
+
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <span class="keywordflow">return</span> bugDescription;</div>
|
|
328
|
+
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> }</div>
|
|
329
|
+
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  </div>
|
|
330
|
+
<div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="classSVF_1_1FullNullPtrDereferenceBug.html#ae269f1b62e89f8fcca783865d6ce8723"> 259</a></span> <span class="keywordtype">void</span> FullNullPtrDereferenceBug::printBugToTerminal()<span class="keyword"> const</span></div>
|
|
331
|
+
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="keyword"></span>{</div>
|
|
332
|
+
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <a class="code" href="namespaceSVF_1_1SVFUtil.html#ac25f6dfcc9118ffd80244a771bdee535">SVFUtil::bugMsg2</a>(<span class="stringliteral">"\t FullNullPtrDereference :"</span>) << <span class="stringliteral">" dereference at : ("</span></div>
|
|
333
|
+
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  << GenericBug::getLoc() << <span class="stringliteral">")\n"</span>;</div>
|
|
334
|
+
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> }</div>
|
|
335
|
+
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  </div>
|
|
336
|
+
<div class="line"><a name="l00265"></a><span class="lineno"><a class="line" href="classSVF_1_1PartialNullPtrDereferenceBug.html#a910f2e839e1e722655fbb2266c15f136"> 265</a></span> <a class="code" href="structcJSON.html">cJSON</a> *PartialNullPtrDereferenceBug::getBugDescription()<span class="keyword"> const</span></div>
|
|
337
|
+
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="keyword"></span>{</div>
|
|
338
|
+
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
|
|
339
|
+
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordflow">return</span> bugDescription;</div>
|
|
340
|
+
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> }</div>
|
|
341
|
+
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  </div>
|
|
342
|
+
<div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="classSVF_1_1PartialNullPtrDereferenceBug.html#acc860880d548ea2cf5b63f0f7ad11456"> 271</a></span> <span class="keywordtype">void</span> PartialNullPtrDereferenceBug::printBugToTerminal()<span class="keyword"> const</span></div>
|
|
343
|
+
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="keyword"></span>{</div>
|
|
344
|
+
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <a class="code" href="namespaceSVF_1_1SVFUtil.html#ac25f6dfcc9118ffd80244a771bdee535">SVFUtil::bugMsg2</a>(<span class="stringliteral">"\t PartialNullPtrDereference :"</span>) << <span class="stringliteral">" dereference at : ("</span></div>
|
|
345
|
+
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  << GenericBug::getLoc() << <span class="stringliteral">")\n"</span>;</div>
|
|
346
|
+
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> }</div>
|
|
347
|
+
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  </div>
|
|
348
|
+
<div class="line"><a name="l00277"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBugEvent.html#ad3bcb02563f952edd43ab5a7276bd57d"> 277</a></span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> SVFBugEvent::getFuncName()<span class="keyword"> const</span></div>
|
|
349
|
+
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="keyword"></span>{</div>
|
|
350
|
+
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="keywordflow">return</span> eventInst->getFunction()->getName();</div>
|
|
351
|
+
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> }</div>
|
|
352
|
+
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  </div>
|
|
353
|
+
<div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBugEvent.html#a5b3fcd366e5275927eb66a02dc6040f8"> 282</a></span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> SVFBugEvent::getEventLoc()<span class="keyword"> const</span></div>
|
|
354
|
+
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="keyword"></span>{</div>
|
|
355
|
+
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <span class="keywordflow">return</span> eventInst->getSourceLoc();</div>
|
|
356
|
+
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> }</div>
|
|
357
|
+
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  </div>
|
|
358
|
+
<div class="line"><a name="l00287"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBugEvent.html#a7c5d28996f9715d0f90d664b93477a23"> 287</a></span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> SVFBugEvent::getEventDescription()<span class="keyword"> const</span></div>
|
|
359
|
+
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="keyword"></span>{</div>
|
|
360
|
+
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <span class="keywordflow">switch</span>(getEventType())</div>
|
|
361
|
+
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  {</div>
|
|
362
|
+
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="keywordflow">case</span> SVFBugEvent::Branch:</div>
|
|
363
|
+
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  {</div>
|
|
364
|
+
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <span class="keywordflow">if</span> (typeAndInfoFlag & <a class="code" href="SVFBugReport_8h.html#a6c7cd1f1c2372251f51de3a8392faeec">BRANCHFLAGMASK</a>)</div>
|
|
365
|
+
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  {</div>
|
|
366
|
+
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <span class="keywordflow">return</span> <span class="stringliteral">"True"</span>;</div>
|
|
367
|
+
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  }</div>
|
|
368
|
+
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <span class="keywordflow">else</span></div>
|
|
369
|
+
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  {</div>
|
|
370
|
+
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <span class="keywordflow">return</span> <span class="stringliteral">"False"</span>;</div>
|
|
371
|
+
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  }</div>
|
|
372
|
+
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keywordflow">break</span>;</div>
|
|
373
373
|
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  }</div>
|
|
374
|
-
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> 
|
|
375
|
-
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> 
|
|
376
|
-
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  </div>
|
|
377
|
-
<div class="line"><a name="l00306"></a><span class="lineno"
|
|
378
|
-
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> 
|
|
379
|
-
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> 
|
|
380
|
-
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> 
|
|
381
|
-
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> 
|
|
382
|
-
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> 
|
|
383
|
-
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> 
|
|
384
|
-
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  </div>
|
|
385
|
-
<div class="line"><a name="l00314"></a><span class="lineno"
|
|
386
|
-
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> 
|
|
387
|
-
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> 
|
|
388
|
-
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> 
|
|
389
|
-
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> 
|
|
390
|
-
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> 
|
|
391
|
-
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> 
|
|
392
|
-
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> 
|
|
393
|
-
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> 
|
|
394
|
-
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> 
|
|
395
|
-
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> 
|
|
396
|
-
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> 
|
|
397
|
-
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> 
|
|
398
|
-
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> 
|
|
399
|
-
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> 
|
|
400
|
-
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> 
|
|
401
|
-
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> 
|
|
402
|
-
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> 
|
|
403
|
-
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  </div>
|
|
404
|
-
<div class="line"><a name="
|
|
405
|
-
<div class="line"><a name="
|
|
406
|
-
<div class="line"><a name="
|
|
407
|
-
<div class="line"><a name="
|
|
408
|
-
<div class="line"><a name="
|
|
409
|
-
<div class="line"><a name="
|
|
410
|
-
<div class="line"><a name="
|
|
411
|
-
<div class="line"><a name="
|
|
412
|
-
<div class="line"><a name="
|
|
413
|
-
<div class="line"><a name="
|
|
414
|
-
<div class="line"><a name="
|
|
415
|
-
<div class="line"><a name="
|
|
416
|
-
<div class="line"><a name="
|
|
417
|
-
<div class="line"><a name="
|
|
418
|
-
<div class="line"><a name="
|
|
419
|
-
<div class="line"><a name="
|
|
420
|
-
<div class="line"><a name="
|
|
421
|
-
<div class="line"><a name="
|
|
422
|
-
<div class="line"><a name="
|
|
423
|
-
<div class="line"><a name="
|
|
424
|
-
<div class="line"><a name="
|
|
425
|
-
<div class="line"><a name="
|
|
426
|
-
<div class="line"><a name="
|
|
427
|
-
<div class="line"><a name="
|
|
428
|
-
<div class="line"><a name="
|
|
429
|
-
<div class="line"><a name="
|
|
430
|
-
<div class="line"><a name="
|
|
431
|
-
<div class="line"><a name="
|
|
432
|
-
<div class="line"><a name="
|
|
433
|
-
<div class="line"><a name="
|
|
434
|
-
<div class="line"><a name="
|
|
435
|
-
<div class="line"><a name="
|
|
436
|
-
<div class="line"><a name="
|
|
437
|
-
<div class="line"><a name="
|
|
438
|
-
<div class="line"><a name="
|
|
439
|
-
<div class="line"><a name="
|
|
440
|
-
<div class="line"><a name="
|
|
441
|
-
<div class="line"><a name="
|
|
442
|
-
<div class="line"><a name="
|
|
443
|
-
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> 
|
|
444
|
-
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span> 
|
|
445
|
-
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span> 
|
|
446
|
-
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> 
|
|
447
|
-
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> 
|
|
448
|
-
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  </div>
|
|
449
|
-
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> 
|
|
450
|
-
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> 
|
|
451
|
-
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> 
|
|
452
|
-
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> 
|
|
453
|
-
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> 
|
|
454
|
-
<div class="line"><a name="
|
|
455
|
-
<div class="line"><a name="
|
|
456
|
-
<div class="line"><a name="
|
|
457
|
-
<div class="line"><a name="
|
|
458
|
-
<div class="line"><a name="
|
|
459
|
-
<div class="line"><a name="
|
|
460
|
-
<div class="line"><a name="
|
|
461
|
-
<div class="line"><a name="
|
|
462
|
-
<div class="line"><a name="
|
|
463
|
-
<div class="line"><a name="
|
|
464
|
-
<div class="line"><a name="
|
|
465
|
-
<div class="line"><a name="
|
|
466
|
-
<div class="line"><a name="
|
|
467
|
-
<div class="line"><a name="
|
|
374
|
+
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <span class="keywordflow">case</span> SVFBugEvent::CallSite:</div>
|
|
375
|
+
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  {</div>
|
|
376
|
+
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> description(<span class="stringliteral">"calls "</span>);</div>
|
|
377
|
+
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *callee = <a class="code" href="namespaceSVF_1_1LLVMUtil.html#ad56c48be3ba6ebb95416623256524097">SVFUtil::getCallee</a>(eventInst);</div>
|
|
378
|
+
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <span class="keywordflow">if</span>(callee == <span class="keyword">nullptr</span>)</div>
|
|
379
|
+
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  {</div>
|
|
380
|
+
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  description += <span class="stringliteral">"<unknown>"</span>;</div>
|
|
381
|
+
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  }</div>
|
|
382
|
+
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <span class="keywordflow">else</span></div>
|
|
383
|
+
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  {</div>
|
|
384
|
+
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  description += callee-><a class="code" href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">getName</a>();</div>
|
|
385
|
+
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  }</div>
|
|
386
|
+
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <span class="keywordflow">return</span> description;</div>
|
|
387
|
+
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <span class="keywordflow">break</span>;</div>
|
|
388
|
+
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  }</div>
|
|
389
|
+
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <span class="keywordflow">case</span> SVFBugEvent::SourceInst:</div>
|
|
390
|
+
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  {</div>
|
|
391
|
+
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keywordflow">return</span> <span class="stringliteral">"None"</span>;</div>
|
|
392
|
+
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  }</div>
|
|
393
|
+
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordflow">default</span>:</div>
|
|
394
|
+
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  {</div>
|
|
395
|
+
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"No such type of event!"</span>);</div>
|
|
396
|
+
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  abort();</div>
|
|
397
|
+
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  }</div>
|
|
398
|
+
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  }</div>
|
|
399
|
+
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> }</div>
|
|
400
|
+
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  </div>
|
|
401
|
+
<div class="line"><a name="l00330"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBugReport.html#a4e243c7297791b306d970c19abc87ca9"> 330</a></span> SVFBugReport::~SVFBugReport()</div>
|
|
402
|
+
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> {</div>
|
|
403
|
+
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <span class="keywordflow">for</span>(<span class="keyword">auto</span> bugIt: bugSet)</div>
|
|
404
|
+
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  {</div>
|
|
405
|
+
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="keyword">delete</span> bugIt;</div>
|
|
406
|
+
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  }</div>
|
|
407
|
+
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> }</div>
|
|
408
|
+
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  </div>
|
|
409
|
+
<div class="line"><a name="l00338"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBugReport.html#aa119593331403f73867fddcb6ec26989"> 338</a></span> <span class="keywordtype">void</span> SVFBugReport::dumpToJsonFile(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>& filePath)<span class="keyword"> const</span></div>
|
|
410
|
+
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="keyword"></span>{</div>
|
|
411
|
+
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  std::map<u32_t, std::string> eventType2Str =</div>
|
|
412
|
+
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  {</div>
|
|
413
|
+
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  {SVFBugEvent::CallSite, <span class="stringliteral">"call site"</span>},</div>
|
|
414
|
+
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  {SVFBugEvent::Caller, <span class="stringliteral">"caller"</span>},</div>
|
|
415
|
+
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  {<a class="code" href="namespaceSVF.html#abf85e29310b2e4df8925d00a5c081314">SVFBugEvent::Loop</a>, <span class="stringliteral">"loop"</span>},</div>
|
|
416
|
+
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  {SVFBugEvent::Branch, <span class="stringliteral">"branch"</span>}</div>
|
|
417
|
+
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  };</div>
|
|
418
|
+
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  </div>
|
|
419
|
+
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  ofstream jsonFile(filePath, ios::out);</div>
|
|
420
|
+
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  </div>
|
|
421
|
+
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  jsonFile << <span class="stringliteral">"["</span>;</div>
|
|
422
|
+
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  </div>
|
|
423
|
+
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <span class="keywordtype">size_t</span> commaCounter = bugSet.size() - 1; <span class="comment">// comma num needed</span></div>
|
|
424
|
+
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  <span class="keywordflow">for</span>(<span class="keyword">auto</span> bugPtr : bugSet)</div>
|
|
425
|
+
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  {</div>
|
|
426
|
+
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <a class="code" href="structcJSON.html">cJSON</a> *singleBug = cJSON_CreateObject();</div>
|
|
427
|
+
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  </div>
|
|
428
|
+
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <a class="code" href="structcJSON.html">cJSON</a> *bugType = cJSON_CreateString(GenericBug::BugType2Str.at(bugPtr->getBugType()).c_str());</div>
|
|
429
|
+
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  cJSON_AddItemToObject(singleBug, <span class="stringliteral">"DefectType"</span>, bugType);</div>
|
|
430
|
+
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  </div>
|
|
431
|
+
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <a class="code" href="structcJSON.html">cJSON</a> *bugLoc = cJSON_Parse(bugPtr->getLoc().c_str());</div>
|
|
432
|
+
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <span class="keywordflow">if</span>(bugLoc == <span class="keyword">nullptr</span>)</div>
|
|
433
|
+
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  {</div>
|
|
434
|
+
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  bugLoc = cJSON_CreateObject();</div>
|
|
435
|
+
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  }</div>
|
|
436
|
+
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  cJSON_AddItemToObject(singleBug, <span class="stringliteral">"Location"</span>, bugLoc);</div>
|
|
437
|
+
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  </div>
|
|
438
|
+
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <a class="code" href="structcJSON.html">cJSON</a> *bugFunction = cJSON_CreateString(bugPtr->getFuncName().c_str());</div>
|
|
439
|
+
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  cJSON_AddItemToObject(singleBug, <span class="stringliteral">"Function"</span>, bugFunction);</div>
|
|
440
|
+
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  </div>
|
|
441
|
+
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  cJSON_AddItemToObject(singleBug, <span class="stringliteral">"Description"</span>, bugPtr->getBugDescription());</div>
|
|
442
|
+
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  </div>
|
|
443
|
+
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <a class="code" href="structcJSON.html">cJSON</a> *eventList = cJSON_CreateArray();</div>
|
|
444
|
+
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1GenericBug.html#acc65b033bfd61257d5b6fdbf932dfafe">GenericBug::EventStack</a> &bugEventStack = bugPtr->getEventStack();</div>
|
|
445
|
+
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keywordflow">if</span>(BufferOverflowBug::classof(bugPtr))</div>
|
|
446
|
+
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  {</div>
|
|
447
|
+
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="comment">// add only when bug is context sensitive</span></div>
|
|
448
|
+
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <span class="keywordflow">for</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBugEvent.html">SVFBugEvent</a>&event : bugEventStack)</div>
|
|
449
|
+
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  {</div>
|
|
450
|
+
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <span class="keywordflow">if</span> (event.getEventType() == SVFBugEvent::SourceInst)</div>
|
|
451
|
+
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  {</div>
|
|
452
|
+
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <span class="keywordflow">continue</span>;</div>
|
|
453
|
+
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  }</div>
|
|
454
|
+
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  </div>
|
|
455
|
+
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <a class="code" href="structcJSON.html">cJSON</a> *singleEvent = cJSON_CreateObject();</div>
|
|
456
|
+
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <span class="comment">//event type</span></div>
|
|
457
|
+
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  <a class="code" href="structcJSON.html">cJSON</a> *eventType = cJSON_CreateString(eventType2Str[event.getEventType()].c_str());</div>
|
|
458
|
+
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  cJSON_AddItemToObject(singleEvent, <span class="stringliteral">"EventType"</span>, eventType);</div>
|
|
459
|
+
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <span class="comment">//function name</span></div>
|
|
460
|
+
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <a class="code" href="structcJSON.html">cJSON</a> *eventFunc = cJSON_CreateString(event.getFuncName().c_str());</div>
|
|
461
|
+
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  cJSON_AddItemToObject(singleEvent, <span class="stringliteral">"Function"</span>, eventFunc);</div>
|
|
462
|
+
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  <span class="comment">//event loc</span></div>
|
|
463
|
+
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  <a class="code" href="structcJSON.html">cJSON</a> *eventLoc = cJSON_Parse(event.getEventLoc().c_str());</div>
|
|
464
|
+
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  <span class="keywordflow">if</span>(eventLoc == <span class="keyword">nullptr</span>)</div>
|
|
465
|
+
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  {</div>
|
|
466
|
+
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  eventLoc = cJSON_CreateObject();</div>
|
|
467
|
+
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  }</div>
|
|
468
|
+
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  cJSON_AddItemToObject(singleEvent, <span class="stringliteral">"Location"</span>, eventLoc);</div>
|
|
469
|
+
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  <span class="comment">//event description</span></div>
|
|
470
|
+
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <a class="code" href="structcJSON.html">cJSON</a> *eventDescription = cJSON_CreateString(event.getEventDescription().c_str());</div>
|
|
471
|
+
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  cJSON_AddItemToObject(singleEvent, <span class="stringliteral">"Description"</span>, eventDescription);</div>
|
|
472
|
+
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  </div>
|
|
473
|
+
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  cJSON_AddItemToArray(eventList, singleEvent);</div>
|
|
474
|
+
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  }</div>
|
|
475
|
+
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  }</div>
|
|
476
|
+
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  cJSON_AddItemToObject(singleBug, <span class="stringliteral">"Events"</span>, eventList);</div>
|
|
477
|
+
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  </div>
|
|
478
|
+
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  <span class="keywordtype">char</span> *singleBugStr = cJSON_Print(singleBug);</div>
|
|
479
|
+
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  jsonFile << singleBugStr;</div>
|
|
480
|
+
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  <span class="keywordflow">if</span> (commaCounter != 0)</div>
|
|
481
|
+
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  {</div>
|
|
482
|
+
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  jsonFile << <span class="stringliteral">",\n"</span>;</div>
|
|
483
|
+
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  }</div>
|
|
484
|
+
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  commaCounter --;</div>
|
|
485
|
+
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  </div>
|
|
486
|
+
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  <a class="code" href="cJSON_8cpp.html#afde5c619f31577b3d821b56b23953c85">cJSON_Delete</a>(singleBug);</div>
|
|
487
|
+
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  }</div>
|
|
488
|
+
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  </div>
|
|
489
|
+
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  jsonFile << <span class="stringliteral">"]"</span>;</div>
|
|
490
|
+
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  jsonFile.close();</div>
|
|
491
|
+
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> }</div>
|
|
468
492
|
</div><!-- fragment --></div><!-- contents -->
|
|
469
493
|
<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#l00216">SVFValue.h:216</a></div></div>
|
|
470
494
|
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_ad56c48be3ba6ebb95416623256524097"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#ad56c48be3ba6ebb95416623256524097">SVF::LLVMUtil::getCallee</a></div><div class="ttdeci">const Function * getCallee(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00075">LLVMUtil.h:75</a></div></div>
|
|
@@ -475,7 +499,7 @@ $(function() {
|
|
|
475
499
|
<div class="ttc" id="acJSON_8h_html"><div class="ttname"><a href="cJSON_8h.html">cJSON.h</a></div></div>
|
|
476
500
|
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_ac25f6dfcc9118ffd80244a771bdee535"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ac25f6dfcc9118ffd80244a771bdee535">SVF::SVFUtil::bugMsg2</a></div><div class="ttdeci">std::string bugMsg2(const std::string &msg)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00086">SVFUtil.cpp:86</a></div></div>
|
|
477
501
|
<div class="ttc" id="aSVFUtil_8h_html"><div class="ttname"><a href="SVFUtil_8h.html">SVFUtil.h</a></div></div>
|
|
478
|
-
<div class="ttc" id="aclassSVF_1_1SVFBugEvent_html_ad3bcb02563f952edd43ab5a7276bd57d"><div class="ttname"><a href="classSVF_1_1SVFBugEvent.html#ad3bcb02563f952edd43ab5a7276bd57d">SVF::SVFBugEvent::getFuncName</a></div><div class="ttdeci">virtual const std::string getFuncName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8cpp_source.html#
|
|
502
|
+
<div class="ttc" id="aclassSVF_1_1SVFBugEvent_html_ad3bcb02563f952edd43ab5a7276bd57d"><div class="ttname"><a href="classSVF_1_1SVFBugEvent.html#ad3bcb02563f952edd43ab5a7276bd57d">SVF::SVFBugEvent::getFuncName</a></div><div class="ttdeci">virtual const std::string getFuncName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8cpp_source.html#l00277">SVFBugReport.cpp:277</a></div></div>
|
|
479
503
|
<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>
|
|
480
504
|
<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#l00274">SVFValue.h:274</a></div></div>
|
|
481
505
|
<div class="ttc" id="aSVFBugReport_8h_html_a6c7cd1f1c2372251f51de3a8392faeec"><div class="ttname"><a href="SVFBugReport_8h.html#a6c7cd1f1c2372251f51de3a8392faeec">BRANCHFLAGMASK</a></div><div class="ttdeci">#define BRANCHFLAGMASK</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8h_source.html#l00040">SVFBugReport.h:40</a></div></div>
|
|
@@ -483,7 +507,7 @@ $(function() {
|
|
|
483
507
|
<div class="ttc" id="aSVFBugReport_8h_html"><div class="ttname"><a href="SVFBugReport_8h.html">SVFBugReport.h</a></div></div>
|
|
484
508
|
<div class="ttc" id="anamespaceSVF_html_abf85e29310b2e4df8925d00a5c081314"><div class="ttname"><a href="namespaceSVF.html#abf85e29310b2e4df8925d00a5c081314">SVF::Loop</a></div><div class="ttdeci">llvm::Loop Loop</div><div class="ttdoc">LLVM Loop.</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00138">BasicTypes.h:138</a></div></div>
|
|
485
509
|
<div class="ttc" id="aclassSVF_1_1SVFBugEvent_html_a7ded0022f3852a08a05c67aeae77162f"><div class="ttname"><a href="classSVF_1_1SVFBugEvent.html#a7ded0022f3852a08a05c67aeae77162f">SVF::SVFBugEvent::getEventType</a></div><div class="ttdeci">u32_t getEventType() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8h_source.html#l00071">SVFBugReport.h:71</a></div></div>
|
|
486
|
-
<div class="ttc" id="aclassSVF_1_1SVFBugEvent_html_a5b3fcd366e5275927eb66a02dc6040f8"><div class="ttname"><a href="classSVF_1_1SVFBugEvent.html#a5b3fcd366e5275927eb66a02dc6040f8">SVF::SVFBugEvent::getEventLoc</a></div><div class="ttdeci">virtual const std::string getEventLoc() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8cpp_source.html#
|
|
510
|
+
<div class="ttc" id="aclassSVF_1_1SVFBugEvent_html_a5b3fcd366e5275927eb66a02dc6040f8"><div class="ttname"><a href="classSVF_1_1SVFBugEvent.html#a5b3fcd366e5275927eb66a02dc6040f8">SVF::SVFBugEvent::getEventLoc</a></div><div class="ttdeci">virtual const std::string getEventLoc() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8cpp_source.html#l00282">SVFBugReport.cpp:282</a></div></div>
|
|
487
511
|
<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>
|
|
488
512
|
<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>
|
|
489
513
|
<!-- start footer part -->
|
|
@@ -107,6 +107,10 @@ Classes</h2></td></tr>
|
|
|
107
107
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
108
108
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1FilePartialCloseBug.html">SVF::FilePartialCloseBug</a></td></tr>
|
|
109
109
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
110
|
+
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1FullNullPtrDereferenceBug.html">SVF::FullNullPtrDereferenceBug</a></td></tr>
|
|
111
|
+
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
112
|
+
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1PartialNullPtrDereferenceBug.html">SVF::PartialNullPtrDereferenceBug</a></td></tr>
|
|
113
|
+
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
110
114
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classSVF_1_1SVFBugReport.html">SVF::SVFBugReport</a></td></tr>
|
|
111
115
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
112
116
|
</table><table class="memberdecls">
|