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.
Files changed (270) hide show
  1. package/SVF-doxygen/html/html/SVFBugReport_8cpp_source.html +168 -144
  2. package/SVF-doxygen/html/html/SVFBugReport_8h.html +4 -0
  3. package/SVF-doxygen/html/html/SVFBugReport_8h_source.html +167 -125
  4. package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
  5. package/SVF-doxygen/html/html/SrcSnkSolver_8h_source.html +5 -4
  6. package/SVF-doxygen/html/html/annotated.html +292 -290
  7. package/SVF-doxygen/html/html/classSVF_1_1BufferOverflowBug-members.html +11 -9
  8. package/SVF-doxygen/html/html/classSVF_1_1BufferOverflowBug.html +4 -1
  9. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeBug-members.html +11 -9
  10. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeBug.html +4 -1
  11. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +1 -1
  12. package/SVF-doxygen/html/html/classSVF_1_1FileChecker.html +1 -1
  13. package/SVF-doxygen/html/html/classSVF_1_1FileNeverCloseBug-members.html +11 -9
  14. package/SVF-doxygen/html/html/classSVF_1_1FileNeverCloseBug.html +4 -1
  15. package/SVF-doxygen/html/html/classSVF_1_1FilePartialCloseBug-members.html +11 -9
  16. package/SVF-doxygen/html/html/classSVF_1_1FilePartialCloseBug.html +4 -1
  17. package/SVF-doxygen/html/html/classSVF_1_1FullBufferOverflowBug-members.html +11 -9
  18. package/SVF-doxygen/html/html/classSVF_1_1FullBufferOverflowBug.html +4 -1
  19. package/SVF-doxygen/html/html/classSVF_1_1FullNullPtrDereferenceBug-members.html +107 -0
  20. package/SVF-doxygen/html/html/classSVF_1_1FullNullPtrDereferenceBug.html +302 -0
  21. package/SVF-doxygen/html/html/classSVF_1_1FullNullPtrDereferenceBug.png +0 -0
  22. package/SVF-doxygen/html/html/classSVF_1_1GenericBug-members.html +11 -9
  23. package/SVF-doxygen/html/html/classSVF_1_1GenericBug.html +21 -14
  24. package/SVF-doxygen/html/html/classSVF_1_1GenericBug.png +0 -0
  25. package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +1 -1
  26. package/SVF-doxygen/html/html/classSVF_1_1NeverFreeBug-members.html +12 -10
  27. package/SVF-doxygen/html/html/classSVF_1_1NeverFreeBug.html +4 -1
  28. package/SVF-doxygen/html/html/classSVF_1_1PartialBufferOverflowBug-members.html +12 -10
  29. package/SVF-doxygen/html/html/classSVF_1_1PartialBufferOverflowBug.html +4 -1
  30. package/SVF-doxygen/html/html/classSVF_1_1PartialLeakBug-members.html +12 -10
  31. package/SVF-doxygen/html/html/classSVF_1_1PartialLeakBug.html +4 -1
  32. package/SVF-doxygen/html/html/classSVF_1_1PartialNullPtrDereferenceBug-members.html +107 -0
  33. package/SVF-doxygen/html/html/classSVF_1_1PartialNullPtrDereferenceBug.html +302 -0
  34. package/SVF-doxygen/html/html/classSVF_1_1PartialNullPtrDereferenceBug.png +0 -0
  35. package/SVF-doxygen/html/html/classSVF_1_1SVFBugEvent.html +49 -49
  36. package/SVF-doxygen/html/html/classSVF_1_1SVFBugReport.html +169 -169
  37. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver-members.html +2 -2
  38. package/SVF-doxygen/html/html/classSVF_1_1SrcSnkSolver.html +12 -12
  39. package/SVF-doxygen/html/html/classes.html +334 -332
  40. package/SVF-doxygen/html/html/functions_c.html +21 -17
  41. package/SVF-doxygen/html/html/functions_eval_f.html +3 -0
  42. package/SVF-doxygen/html/html/functions_eval_p.html +3 -0
  43. package/SVF-doxygen/html/html/functions_f.html +21 -15
  44. package/SVF-doxygen/html/html/functions_func_c.html +23 -21
  45. package/SVF-doxygen/html/html/functions_func_f.html +3 -0
  46. package/SVF-doxygen/html/html/functions_func_g.html +19 -17
  47. package/SVF-doxygen/html/html/functions_func_p.html +8 -3
  48. package/SVF-doxygen/html/html/functions_g.html +21 -19
  49. package/SVF-doxygen/html/html/functions_i.html +2 -2
  50. package/SVF-doxygen/html/html/functions_l.html +5 -5
  51. package/SVF-doxygen/html/html/functions_o.html +17 -17
  52. package/SVF-doxygen/html/html/functions_p.html +34 -28
  53. package/SVF-doxygen/html/html/functions_r.html +2 -2
  54. package/SVF-doxygen/html/html/functions_s.html +11 -11
  55. package/SVF-doxygen/html/html/functions_t.html +4 -4
  56. package/SVF-doxygen/html/html/functions_type_g.html +1 -1
  57. package/SVF-doxygen/html/html/functions_type_i.html +1 -1
  58. package/SVF-doxygen/html/html/functions_w.html +9 -9
  59. package/SVF-doxygen/html/html/hierarchy.html +4 -2
  60. package/SVF-doxygen/html/html/namespaceSVF.html +4 -0
  61. package/SVF-doxygen/html/html/search/all_10.js +325 -323
  62. package/SVF-doxygen/html/html/search/all_11.js +208 -208
  63. package/SVF-doxygen/html/html/search/all_12.js +546 -546
  64. package/SVF-doxygen/html/html/search/all_13.js +189 -189
  65. package/SVF-doxygen/html/html/search/all_14.js +66 -66
  66. package/SVF-doxygen/html/html/search/all_15.js +170 -170
  67. package/SVF-doxygen/html/html/search/all_16.js +60 -60
  68. package/SVF-doxygen/html/html/search/all_17.js +1 -1
  69. package/SVF-doxygen/html/html/search/all_18.js +1 -1
  70. package/SVF-doxygen/html/html/search/all_19.js +10 -10
  71. package/SVF-doxygen/html/html/search/all_1a.js +169 -169
  72. package/SVF-doxygen/html/html/search/all_3.js +1 -1
  73. package/SVF-doxygen/html/html/search/all_6.js +70 -68
  74. package/SVF-doxygen/html/html/search/all_7.js +1012 -1012
  75. package/SVF-doxygen/html/html/search/all_8.js +192 -192
  76. package/SVF-doxygen/html/html/search/all_9.js +597 -597
  77. package/SVF-doxygen/html/html/search/all_a.js +47 -47
  78. package/SVF-doxygen/html/html/search/all_b.js +26 -26
  79. package/SVF-doxygen/html/html/search/all_c.js +113 -113
  80. package/SVF-doxygen/html/html/search/all_d.js +196 -196
  81. package/SVF-doxygen/html/html/search/all_e.js +206 -206
  82. package/SVF-doxygen/html/html/search/all_f.js +122 -122
  83. package/SVF-doxygen/html/html/search/classes_0.js +26 -26
  84. package/SVF-doxygen/html/html/search/classes_1.js +9 -9
  85. package/SVF-doxygen/html/html/search/classes_10.js +73 -73
  86. package/SVF-doxygen/html/html/search/classes_11.js +15 -15
  87. package/SVF-doxygen/html/html/search/classes_12.js +2 -2
  88. package/SVF-doxygen/html/html/search/classes_13.js +10 -10
  89. package/SVF-doxygen/html/html/search/classes_14.js +14 -14
  90. package/SVF-doxygen/html/html/search/classes_15.js +1 -1
  91. package/SVF-doxygen/html/html/search/classes_2.js +76 -76
  92. package/SVF-doxygen/html/html/search/classes_3.js +35 -35
  93. package/SVF-doxygen/html/html/search/classes_4.js +10 -10
  94. package/SVF-doxygen/html/html/search/classes_5.js +28 -27
  95. package/SVF-doxygen/html/html/search/classes_6.js +98 -98
  96. package/SVF-doxygen/html/html/search/classes_7.js +33 -33
  97. package/SVF-doxygen/html/html/search/classes_8.js +56 -56
  98. package/SVF-doxygen/html/html/search/classes_9.js +1 -1
  99. package/SVF-doxygen/html/html/search/classes_a.js +12 -12
  100. package/SVF-doxygen/html/html/search/classes_b.js +29 -29
  101. package/SVF-doxygen/html/html/search/classes_c.js +6 -6
  102. package/SVF-doxygen/html/html/search/classes_d.js +19 -19
  103. package/SVF-doxygen/html/html/search/classes_e.js +36 -35
  104. package/SVF-doxygen/html/html/search/classes_f.js +25 -25
  105. package/SVF-doxygen/html/html/search/defines_0.js +3 -3
  106. package/SVF-doxygen/html/html/search/defines_1.js +2 -2
  107. package/SVF-doxygen/html/html/search/defines_2.js +30 -30
  108. package/SVF-doxygen/html/html/search/defines_3.js +20 -20
  109. package/SVF-doxygen/html/html/search/defines_4.js +3 -3
  110. package/SVF-doxygen/html/html/search/defines_5.js +4 -4
  111. package/SVF-doxygen/html/html/search/defines_6.js +2 -2
  112. package/SVF-doxygen/html/html/search/defines_7.js +5 -5
  113. package/SVF-doxygen/html/html/search/defines_8.js +13 -13
  114. package/SVF-doxygen/html/html/search/defines_9.js +9 -9
  115. package/SVF-doxygen/html/html/search/defines_a.js +2 -2
  116. package/SVF-doxygen/html/html/search/defines_b.js +2 -2
  117. package/SVF-doxygen/html/html/search/defines_c.js +2 -2
  118. package/SVF-doxygen/html/html/search/defines_d.js +6 -6
  119. package/SVF-doxygen/html/html/search/defines_e.js +3 -3
  120. package/SVF-doxygen/html/html/search/enums_0.js +3 -3
  121. package/SVF-doxygen/html/html/search/enums_1.js +1 -1
  122. package/SVF-doxygen/html/html/search/enums_10.js +1 -1
  123. package/SVF-doxygen/html/html/search/enums_11.js +1 -1
  124. package/SVF-doxygen/html/html/search/enums_2.js +8 -8
  125. package/SVF-doxygen/html/html/search/enums_3.js +1 -1
  126. package/SVF-doxygen/html/html/search/enums_4.js +4 -4
  127. package/SVF-doxygen/html/html/search/enums_5.js +1 -1
  128. package/SVF-doxygen/html/html/search/enums_6.js +2 -2
  129. package/SVF-doxygen/html/html/search/enums_7.js +2 -2
  130. package/SVF-doxygen/html/html/search/enums_8.js +4 -4
  131. package/SVF-doxygen/html/html/search/enums_9.js +1 -1
  132. package/SVF-doxygen/html/html/search/enums_a.js +2 -2
  133. package/SVF-doxygen/html/html/search/enums_b.js +7 -7
  134. package/SVF-doxygen/html/html/search/enums_c.js +1 -1
  135. package/SVF-doxygen/html/html/search/enums_d.js +4 -4
  136. package/SVF-doxygen/html/html/search/enums_e.js +2 -2
  137. package/SVF-doxygen/html/html/search/enums_f.js +4 -4
  138. package/SVF-doxygen/html/html/search/enumvalues_0.js +14 -14
  139. package/SVF-doxygen/html/html/search/enumvalues_1.js +13 -13
  140. package/SVF-doxygen/html/html/search/enumvalues_10.js +35 -35
  141. package/SVF-doxygen/html/html/search/enumvalues_11.js +3 -3
  142. package/SVF-doxygen/html/html/search/enumvalues_12.js +10 -10
  143. package/SVF-doxygen/html/html/search/enumvalues_13.js +1 -1
  144. package/SVF-doxygen/html/html/search/enumvalues_14.js +1 -1
  145. package/SVF-doxygen/html/html/search/enumvalues_15.js +3 -3
  146. package/SVF-doxygen/html/html/search/enumvalues_2.js +40 -40
  147. package/SVF-doxygen/html/html/search/enumvalues_3.js +13 -13
  148. package/SVF-doxygen/html/html/search/enumvalues_4.js +34 -34
  149. package/SVF-doxygen/html/html/search/enumvalues_5.js +48 -47
  150. package/SVF-doxygen/html/html/search/enumvalues_6.js +6 -6
  151. package/SVF-doxygen/html/html/search/enumvalues_7.js +9 -9
  152. package/SVF-doxygen/html/html/search/enumvalues_8.js +23 -23
  153. package/SVF-doxygen/html/html/search/enumvalues_9.js +6 -6
  154. package/SVF-doxygen/html/html/search/enumvalues_a.js +17 -17
  155. package/SVF-doxygen/html/html/search/enumvalues_b.js +11 -11
  156. package/SVF-doxygen/html/html/search/enumvalues_c.js +6 -6
  157. package/SVF-doxygen/html/html/search/enumvalues_d.js +17 -16
  158. package/SVF-doxygen/html/html/search/enumvalues_e.js +11 -11
  159. package/SVF-doxygen/html/html/search/enumvalues_f.js +45 -45
  160. package/SVF-doxygen/html/html/search/files_0.js +13 -13
  161. package/SVF-doxygen/html/html/search/files_1.js +7 -7
  162. package/SVF-doxygen/html/html/search/files_10.js +8 -8
  163. package/SVF-doxygen/html/html/search/files_11.js +8 -8
  164. package/SVF-doxygen/html/html/search/files_12.js +2 -2
  165. package/SVF-doxygen/html/html/search/files_2.js +50 -50
  166. package/SVF-doxygen/html/html/search/files_3.js +14 -14
  167. package/SVF-doxygen/html/html/search/files_4.js +4 -4
  168. package/SVF-doxygen/html/html/search/files_5.js +13 -13
  169. package/SVF-doxygen/html/html/search/files_6.js +9 -9
  170. package/SVF-doxygen/html/html/search/files_7.js +14 -14
  171. package/SVF-doxygen/html/html/search/files_8.js +13 -13
  172. package/SVF-doxygen/html/html/search/files_9.js +18 -18
  173. package/SVF-doxygen/html/html/search/files_a.js +3 -3
  174. package/SVF-doxygen/html/html/search/files_b.js +2 -2
  175. package/SVF-doxygen/html/html/search/files_c.js +19 -19
  176. package/SVF-doxygen/html/html/search/files_d.js +4 -4
  177. package/SVF-doxygen/html/html/search/files_e.js +62 -62
  178. package/SVF-doxygen/html/html/search/files_f.js +8 -8
  179. package/SVF-doxygen/html/html/search/functions_0.js +351 -351
  180. package/SVF-doxygen/html/html/search/functions_1.js +80 -80
  181. package/SVF-doxygen/html/html/search/functions_10.js +121 -121
  182. package/SVF-doxygen/html/html/search/functions_11.js +282 -282
  183. package/SVF-doxygen/html/html/search/functions_12.js +55 -55
  184. package/SVF-doxygen/html/html/search/functions_13.js +38 -38
  185. package/SVF-doxygen/html/html/search/functions_14.js +71 -71
  186. package/SVF-doxygen/html/html/search/functions_15.js +29 -29
  187. package/SVF-doxygen/html/html/search/functions_16.js +2 -2
  188. package/SVF-doxygen/html/html/search/functions_17.js +169 -169
  189. package/SVF-doxygen/html/html/search/functions_2.js +251 -251
  190. package/SVF-doxygen/html/html/search/functions_3.js +72 -72
  191. package/SVF-doxygen/html/html/search/functions_4.js +55 -55
  192. package/SVF-doxygen/html/html/search/functions_5.js +55 -54
  193. package/SVF-doxygen/html/html/search/functions_6.js +832 -832
  194. package/SVF-doxygen/html/html/search/functions_7.js +144 -144
  195. package/SVF-doxygen/html/html/search/functions_8.js +417 -417
  196. package/SVF-doxygen/html/html/search/functions_9.js +29 -29
  197. package/SVF-doxygen/html/html/search/functions_a.js +2 -2
  198. package/SVF-doxygen/html/html/search/functions_b.js +23 -23
  199. package/SVF-doxygen/html/html/search/functions_c.js +75 -75
  200. package/SVF-doxygen/html/html/search/functions_d.js +35 -35
  201. package/SVF-doxygen/html/html/search/functions_e.js +56 -56
  202. package/SVF-doxygen/html/html/search/functions_f.js +143 -142
  203. package/SVF-doxygen/html/html/search/namespaces_0.js +1 -1
  204. package/SVF-doxygen/html/html/search/namespaces_1.js +7 -7
  205. package/SVF-doxygen/html/html/search/related_0.js +2 -2
  206. package/SVF-doxygen/html/html/search/related_1.js +1 -1
  207. package/SVF-doxygen/html/html/search/related_2.js +2 -2
  208. package/SVF-doxygen/html/html/search/related_3.js +2 -2
  209. package/SVF-doxygen/html/html/search/related_4.js +2 -2
  210. package/SVF-doxygen/html/html/search/related_5.js +1 -1
  211. package/SVF-doxygen/html/html/search/related_6.js +2 -2
  212. package/SVF-doxygen/html/html/search/related_7.js +4 -4
  213. package/SVF-doxygen/html/html/search/related_8.js +2 -2
  214. package/SVF-doxygen/html/html/search/related_9.js +4 -4
  215. package/SVF-doxygen/html/html/search/related_a.js +19 -19
  216. package/SVF-doxygen/html/html/search/related_b.js +4 -4
  217. package/SVF-doxygen/html/html/search/related_c.js +1 -1
  218. package/SVF-doxygen/html/html/search/related_d.js +11 -11
  219. package/SVF-doxygen/html/html/search/related_e.js +2 -2
  220. package/SVF-doxygen/html/html/search/related_f.js +2 -2
  221. package/SVF-doxygen/html/html/search/typedefs_0.js +18 -18
  222. package/SVF-doxygen/html/html/search/typedefs_1.js +25 -25
  223. package/SVF-doxygen/html/html/search/typedefs_10.js +60 -60
  224. package/SVF-doxygen/html/html/search/typedefs_11.js +13 -13
  225. package/SVF-doxygen/html/html/search/typedefs_12.js +11 -11
  226. package/SVF-doxygen/html/html/search/typedefs_13.js +35 -35
  227. package/SVF-doxygen/html/html/search/typedefs_14.js +8 -8
  228. package/SVF-doxygen/html/html/search/typedefs_2.js +126 -126
  229. package/SVF-doxygen/html/html/search/typedefs_3.js +39 -39
  230. package/SVF-doxygen/html/html/search/typedefs_4.js +16 -16
  231. package/SVF-doxygen/html/html/search/typedefs_5.js +41 -41
  232. package/SVF-doxygen/html/html/search/typedefs_6.js +52 -52
  233. package/SVF-doxygen/html/html/search/typedefs_7.js +40 -40
  234. package/SVF-doxygen/html/html/search/typedefs_8.js +1 -1
  235. package/SVF-doxygen/html/html/search/typedefs_9.js +6 -6
  236. package/SVF-doxygen/html/html/search/typedefs_a.js +29 -29
  237. package/SVF-doxygen/html/html/search/typedefs_b.js +29 -29
  238. package/SVF-doxygen/html/html/search/typedefs_c.js +40 -40
  239. package/SVF-doxygen/html/html/search/typedefs_d.js +15 -15
  240. package/SVF-doxygen/html/html/search/typedefs_e.js +52 -52
  241. package/SVF-doxygen/html/html/search/typedefs_f.js +14 -14
  242. package/SVF-doxygen/html/html/search/variables_0.js +146 -146
  243. package/SVF-doxygen/html/html/search/variables_1.js +74 -74
  244. package/SVF-doxygen/html/html/search/variables_10.js +97 -97
  245. package/SVF-doxygen/html/html/search/variables_11.js +46 -46
  246. package/SVF-doxygen/html/html/search/variables_12.js +93 -93
  247. package/SVF-doxygen/html/html/search/variables_13.js +77 -77
  248. package/SVF-doxygen/html/html/search/variables_14.js +14 -14
  249. package/SVF-doxygen/html/html/search/variables_15.js +48 -48
  250. package/SVF-doxygen/html/html/search/variables_16.js +9 -9
  251. package/SVF-doxygen/html/html/search/variables_17.js +1 -1
  252. package/SVF-doxygen/html/html/search/variables_18.js +2 -2
  253. package/SVF-doxygen/html/html/search/variables_2.js +35 -35
  254. package/SVF-doxygen/html/html/search/variables_3.js +148 -148
  255. package/SVF-doxygen/html/html/search/variables_4.js +56 -56
  256. package/SVF-doxygen/html/html/search/variables_5.js +40 -40
  257. package/SVF-doxygen/html/html/search/variables_6.js +67 -67
  258. package/SVF-doxygen/html/html/search/variables_7.js +33 -33
  259. package/SVF-doxygen/html/html/search/variables_8.js +7 -7
  260. package/SVF-doxygen/html/html/search/variables_9.js +77 -77
  261. package/SVF-doxygen/html/html/search/variables_a.js +4 -4
  262. package/SVF-doxygen/html/html/search/variables_b.js +10 -10
  263. package/SVF-doxygen/html/html/search/variables_c.js +45 -45
  264. package/SVF-doxygen/html/html/search/variables_d.js +56 -56
  265. package/SVF-doxygen/html/html/search/variables_e.js +123 -123
  266. package/SVF-doxygen/html/html/search/variables_f.js +33 -33
  267. package/package.json +1 -1
  268. package/svf/include/SABER/SrcSnkSolver.h +2 -2
  269. package/svf/include/Util/SVFBugReport.h +33 -1
  270. 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>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
322
322
  <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;}</div>
323
323
  <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; </div>
324
- <div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBugEvent.html#ad3bcb02563f952edd43ab5a7276bd57d"> 253</a></span>&#160;<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> SVFBugEvent::getFuncName()<span class="keyword"> const</span></div>
324
+ <div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="classSVF_1_1FullNullPtrDereferenceBug.html#a8f057178ee7182d691dbb3103d0d0d43"> 253</a></span>&#160;<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>&#160;<span class="keyword"></span>{</div>
326
- <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <span class="keywordflow">return</span> eventInst-&gt;getFunction()-&gt;getName();</div>
327
- <div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160;}</div>
328
- <div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; </div>
329
- <div class="line"><a name="l00258"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBugEvent.html#a5b3fcd366e5275927eb66a02dc6040f8"> 258</a></span>&#160;<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> SVFBugEvent::getEventLoc()<span class="keyword"> const</span></div>
330
- <div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160;<span class="keyword"></span>{</div>
331
- <div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">return</span> eventInst-&gt;getSourceLoc();</div>
332
- <div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160;}</div>
333
- <div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; </div>
334
- <div class="line"><a name="l00263"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBugEvent.html#a7c5d28996f9715d0f90d664b93477a23"> 263</a></span>&#160;<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> SVFBugEvent::getEventDescription()<span class="keyword"> const</span></div>
335
- <div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160;<span class="keyword"></span>{</div>
336
- <div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; <span class="keywordflow">switch</span>(getEventType())</div>
337
- <div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; {</div>
338
- <div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keywordflow">case</span> SVFBugEvent::Branch:</div>
339
- <div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; {</div>
340
- <div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; <span class="keywordflow">if</span> (typeAndInfoFlag &amp; <a class="code" href="SVFBugReport_8h.html#a6c7cd1f1c2372251f51de3a8392faeec">BRANCHFLAGMASK</a>)</div>
341
- <div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; {</div>
342
- <div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;True&quot;</span>;</div>
343
- <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; }</div>
344
- <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keywordflow">else</span></div>
345
- <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; {</div>
346
- <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;False&quot;</span>;</div>
347
- <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; }</div>
348
- <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordflow">break</span>;</div>
349
- <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; }</div>
350
- <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">case</span> SVFBugEvent::CallSite:</div>
351
- <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; {</div>
352
- <div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> description(<span class="stringliteral">&quot;calls &quot;</span>);</div>
353
- <div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; <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>
354
- <div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keywordflow">if</span>(callee == <span class="keyword">nullptr</span>)</div>
355
- <div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; {</div>
356
- <div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160; description += <span class="stringliteral">&quot;&lt;unknown&gt;&quot;</span>;</div>
357
- <div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; }</div>
358
- <div class="line"><a name="l00287"></a><span class="lineno"> 287</span>&#160; <span class="keywordflow">else</span></div>
359
- <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>&#160; {</div>
360
- <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; description += callee-&gt;<a class="code" href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">getName</a>();</div>
361
- <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; }</div>
362
- <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordflow">return</span> description;</div>
363
- <div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keywordflow">break</span>;</div>
364
- <div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; }</div>
365
- <div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">case</span> SVFBugEvent::SourceInst:</div>
366
- <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; {</div>
367
- <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;None&quot;</span>;</div>
368
- <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; }</div>
369
- <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <span class="keywordflow">default</span>:</div>
370
- <div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; {</div>
371
- <div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;No such type of event!&quot;</span>);</div>
372
- <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; abort();</div>
326
+ <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <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>&#160; <span class="keywordflow">return</span> bugDescription;</div>
328
+ <div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160;}</div>
329
+ <div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; </div>
330
+ <div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="classSVF_1_1FullNullPtrDereferenceBug.html#ae269f1b62e89f8fcca783865d6ce8723"> 259</a></span>&#160;<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>&#160;<span class="keyword"></span>{</div>
332
+ <div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ac25f6dfcc9118ffd80244a771bdee535">SVFUtil::bugMsg2</a>(<span class="stringliteral">&quot;\t FullNullPtrDereference :&quot;</span>) &lt;&lt; <span class="stringliteral">&quot; dereference at : (&quot;</span></div>
333
+ <div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; &lt;&lt; GenericBug::getLoc() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div>
334
+ <div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160;}</div>
335
+ <div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; </div>
336
+ <div class="line"><a name="l00265"></a><span class="lineno"><a class="line" href="classSVF_1_1PartialNullPtrDereferenceBug.html#a910f2e839e1e722655fbb2266c15f136"> 265</a></span>&#160;<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>&#160;<span class="keyword"></span>{</div>
338
+ <div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <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>&#160; <span class="keywordflow">return</span> bugDescription;</div>
340
+ <div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160;}</div>
341
+ <div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; </div>
342
+ <div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="classSVF_1_1PartialNullPtrDereferenceBug.html#acc860880d548ea2cf5b63f0f7ad11456"> 271</a></span>&#160;<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>&#160;<span class="keyword"></span>{</div>
344
+ <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ac25f6dfcc9118ffd80244a771bdee535">SVFUtil::bugMsg2</a>(<span class="stringliteral">&quot;\t PartialNullPtrDereference :&quot;</span>) &lt;&lt; <span class="stringliteral">&quot; dereference at : (&quot;</span></div>
345
+ <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; &lt;&lt; GenericBug::getLoc() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div>
346
+ <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160;}</div>
347
+ <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; </div>
348
+ <div class="line"><a name="l00277"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBugEvent.html#ad3bcb02563f952edd43ab5a7276bd57d"> 277</a></span>&#160;<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>&#160;<span class="keyword"></span>{</div>
350
+ <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; <span class="keywordflow">return</span> eventInst-&gt;getFunction()-&gt;getName();</div>
351
+ <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160;}</div>
352
+ <div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160; </div>
353
+ <div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBugEvent.html#a5b3fcd366e5275927eb66a02dc6040f8"> 282</a></span>&#160;<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>&#160;<span class="keyword"></span>{</div>
355
+ <div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160; <span class="keywordflow">return</span> eventInst-&gt;getSourceLoc();</div>
356
+ <div class="line"><a name="l00285"></a><span class="lineno"> 285</span>&#160;}</div>
357
+ <div class="line"><a name="l00286"></a><span class="lineno"> 286</span>&#160; </div>
358
+ <div class="line"><a name="l00287"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBugEvent.html#a7c5d28996f9715d0f90d664b93477a23"> 287</a></span>&#160;<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>&#160;<span class="keyword"></span>{</div>
360
+ <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; <span class="keywordflow">switch</span>(getEventType())</div>
361
+ <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; {</div>
362
+ <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; <span class="keywordflow">case</span> SVFBugEvent::Branch:</div>
363
+ <div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; {</div>
364
+ <div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <span class="keywordflow">if</span> (typeAndInfoFlag &amp; <a class="code" href="SVFBugReport_8h.html#a6c7cd1f1c2372251f51de3a8392faeec">BRANCHFLAGMASK</a>)</div>
365
+ <div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; {</div>
366
+ <div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;True&quot;</span>;</div>
367
+ <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; }</div>
368
+ <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; <span class="keywordflow">else</span></div>
369
+ <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; {</div>
370
+ <div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;False&quot;</span>;</div>
371
+ <div class="line"><a name="l00300"></a><span class="lineno"> 300</span>&#160; }</div>
372
+ <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>&#160; <span class="keywordflow">break</span>;</div>
373
373
  <div class="line"><a name="l00302"></a><span class="lineno"> 302</span>&#160; }</div>
374
- <div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; }</div>
375
- <div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160;}</div>
376
- <div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; </div>
377
- <div class="line"><a name="l00306"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBugReport.html#a4e243c7297791b306d970c19abc87ca9"> 306</a></span>&#160;SVFBugReport::~SVFBugReport()</div>
378
- <div class="line"><a name="l00307"></a><span class="lineno"> 307</span>&#160;{</div>
379
- <div class="line"><a name="l00308"></a><span class="lineno"> 308</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> bugIt: bugSet)</div>
380
- <div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; {</div>
381
- <div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; <span class="keyword">delete</span> bugIt;</div>
382
- <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; }</div>
383
- <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160;}</div>
384
- <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; </div>
385
- <div class="line"><a name="l00314"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBugReport.html#aa119593331403f73867fddcb6ec26989"> 314</a></span>&#160;<span class="keywordtype">void</span> SVFBugReport::dumpToJsonFile(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; filePath)<span class="keyword"> const</span></div>
386
- <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160;<span class="keyword"></span>{</div>
387
- <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; std::map&lt;u32_t, std::string&gt; eventType2Str =</div>
388
- <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; {</div>
389
- <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; {SVFBugEvent::CallSite, <span class="stringliteral">&quot;call site&quot;</span>},</div>
390
- <div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; {SVFBugEvent::Caller, <span class="stringliteral">&quot;caller&quot;</span>},</div>
391
- <div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; {<a class="code" href="namespaceSVF.html#abf85e29310b2e4df8925d00a5c081314">SVFBugEvent::Loop</a>, <span class="stringliteral">&quot;loop&quot;</span>},</div>
392
- <div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; {SVFBugEvent::Branch, <span class="stringliteral">&quot;branch&quot;</span>}</div>
393
- <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; };</div>
394
- <div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; </div>
395
- <div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; ofstream jsonFile(filePath, ios::out);</div>
396
- <div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; </div>
397
- <div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; jsonFile &lt;&lt; <span class="stringliteral">&quot;[&quot;</span>;</div>
398
- <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; </div>
399
- <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160; <span class="keywordtype">size_t</span> commaCounter = bugSet.size() - 1; <span class="comment">// comma num needed</span></div>
400
- <div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> bugPtr : bugSet)</div>
401
- <div class="line"><a name="l00330"></a><span class="lineno"> 330</span>&#160; {</div>
402
- <div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *singleBug = cJSON_CreateObject();</div>
403
- <div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; </div>
404
- <div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugType = cJSON_CreateString(GenericBug::BugType2Str.at(bugPtr-&gt;getBugType()).c_str());</div>
405
- <div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; cJSON_AddItemToObject(singleBug, <span class="stringliteral">&quot;DefectType&quot;</span>, bugType);</div>
406
- <div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160; </div>
407
- <div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugLoc = cJSON_Parse(bugPtr-&gt;getLoc().c_str());</div>
408
- <div class="line"><a name="l00338"></a><span class="lineno"> 338</span>&#160; <span class="keywordflow">if</span>(bugLoc == <span class="keyword">nullptr</span>)</div>
409
- <div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160; {</div>
410
- <div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; bugLoc = cJSON_CreateObject();</div>
411
- <div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; }</div>
412
- <div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; cJSON_AddItemToObject(singleBug, <span class="stringliteral">&quot;Location&quot;</span>, bugLoc);</div>
413
- <div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; </div>
414
- <div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugFunction = cJSON_CreateString(bugPtr-&gt;getFuncName().c_str());</div>
415
- <div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; cJSON_AddItemToObject(singleBug, <span class="stringliteral">&quot;Function&quot;</span>, bugFunction);</div>
416
- <div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; </div>
417
- <div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; cJSON_AddItemToObject(singleBug, <span class="stringliteral">&quot;Description&quot;</span>, bugPtr-&gt;getBugDescription());</div>
418
- <div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; </div>
419
- <div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *eventList = cJSON_CreateArray();</div>
420
- <div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1GenericBug.html#acc65b033bfd61257d5b6fdbf932dfafe">GenericBug::EventStack</a> &amp;bugEventStack = bugPtr-&gt;getEventStack();</div>
421
- <div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <span class="keywordflow">if</span>(BufferOverflowBug::classof(bugPtr))</div>
422
- <div class="line"><a name="l00353"></a><span class="lineno"> 353</span>&#160; {</div>
423
- <div class="line"><a name="l00354"></a><span class="lineno"> 354</span>&#160; <span class="comment">// add only when bug is context sensitive</span></div>
424
- <div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBugEvent.html">SVFBugEvent</a>&amp;event : bugEventStack)</div>
425
- <div class="line"><a name="l00356"></a><span class="lineno"> 356</span>&#160; {</div>
426
- <div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; <span class="keywordflow">if</span> (event.getEventType() == SVFBugEvent::SourceInst)</div>
427
- <div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; {</div>
428
- <div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; <span class="keywordflow">continue</span>;</div>
429
- <div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; }</div>
430
- <div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; </div>
431
- <div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *singleEvent = cJSON_CreateObject();</div>
432
- <div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <span class="comment">//event type</span></div>
433
- <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *eventType = cJSON_CreateString(eventType2Str[event.getEventType()].c_str());</div>
434
- <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; cJSON_AddItemToObject(singleEvent, <span class="stringliteral">&quot;EventType&quot;</span>, eventType);</div>
435
- <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; <span class="comment">//function name</span></div>
436
- <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *eventFunc = cJSON_CreateString(event.getFuncName().c_str());</div>
437
- <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; cJSON_AddItemToObject(singleEvent, <span class="stringliteral">&quot;Function&quot;</span>, eventFunc);</div>
438
- <div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; <span class="comment">//event loc</span></div>
439
- <div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *eventLoc = cJSON_Parse(event.getEventLoc().c_str());</div>
440
- <div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; <span class="keywordflow">if</span>(eventLoc == <span class="keyword">nullptr</span>)</div>
441
- <div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; {</div>
442
- <div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; eventLoc = cJSON_CreateObject();</div>
443
- <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; }</div>
444
- <div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; cJSON_AddItemToObject(singleEvent, <span class="stringliteral">&quot;Location&quot;</span>, eventLoc);</div>
445
- <div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="comment">//event description</span></div>
446
- <div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *eventDescription = cJSON_CreateString(event.getEventDescription().c_str());</div>
447
- <div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; cJSON_AddItemToObject(singleEvent, <span class="stringliteral">&quot;Description&quot;</span>, eventDescription);</div>
448
- <div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; </div>
449
- <div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; cJSON_AddItemToArray(eventList, singleEvent);</div>
450
- <div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; }</div>
451
- <div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; }</div>
452
- <div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; cJSON_AddItemToObject(singleBug, <span class="stringliteral">&quot;Events&quot;</span>, eventList);</div>
453
- <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; </div>
454
- <div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <span class="keywordtype">char</span> *singleBugStr = cJSON_Print(singleBug);</div>
455
- <div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; jsonFile &lt;&lt; singleBugStr;</div>
456
- <div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keywordflow">if</span> (commaCounter != 0)</div>
457
- <div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; {</div>
458
- <div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; jsonFile &lt;&lt; <span class="stringliteral">&quot;,\n&quot;</span>;</div>
459
- <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; }</div>
460
- <div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; commaCounter --;</div>
461
- <div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; </div>
462
- <div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <a class="code" href="cJSON_8cpp.html#afde5c619f31577b3d821b56b23953c85">cJSON_Delete</a>(singleBug);</div>
463
- <div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; }</div>
464
- <div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; </div>
465
- <div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; jsonFile &lt;&lt; <span class="stringliteral">&quot;]&quot;</span>;</div>
466
- <div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; jsonFile.close();</div>
467
- <div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160;}</div>
374
+ <div class="line"><a name="l00303"></a><span class="lineno"> 303</span>&#160; <span class="keywordflow">case</span> SVFBugEvent::CallSite:</div>
375
+ <div class="line"><a name="l00304"></a><span class="lineno"> 304</span>&#160; {</div>
376
+ <div class="line"><a name="l00305"></a><span class="lineno"> 305</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> description(<span class="stringliteral">&quot;calls &quot;</span>);</div>
377
+ <div class="line"><a name="l00306"></a><span class="lineno"> 306</span>&#160; <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>&#160; <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>&#160; {</div>
380
+ <div class="line"><a name="l00309"></a><span class="lineno"> 309</span>&#160; description += <span class="stringliteral">&quot;&lt;unknown&gt;&quot;</span>;</div>
381
+ <div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; }</div>
382
+ <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="keywordflow">else</span></div>
383
+ <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; {</div>
384
+ <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; description += callee-&gt;<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>&#160; }</div>
386
+ <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; <span class="keywordflow">return</span> description;</div>
387
+ <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="keywordflow">break</span>;</div>
388
+ <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; }</div>
389
+ <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="keywordflow">case</span> SVFBugEvent::SourceInst:</div>
390
+ <div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; {</div>
391
+ <div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;None&quot;</span>;</div>
392
+ <div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; }</div>
393
+ <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="keywordflow">default</span>:</div>
394
+ <div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; {</div>
395
+ <div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; assert(<span class="keyword">false</span> &amp;&amp; <span class="stringliteral">&quot;No such type of event!&quot;</span>);</div>
396
+ <div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; abort();</div>
397
+ <div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; }</div>
398
+ <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160; }</div>
399
+ <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>&#160;}</div>
400
+ <div class="line"><a name="l00329"></a><span class="lineno"> 329</span>&#160; </div>
401
+ <div class="line"><a name="l00330"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBugReport.html#a4e243c7297791b306d970c19abc87ca9"> 330</a></span>&#160;SVFBugReport::~SVFBugReport()</div>
402
+ <div class="line"><a name="l00331"></a><span class="lineno"> 331</span>&#160;{</div>
403
+ <div class="line"><a name="l00332"></a><span class="lineno"> 332</span>&#160; <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>&#160; {</div>
405
+ <div class="line"><a name="l00334"></a><span class="lineno"> 334</span>&#160; <span class="keyword">delete</span> bugIt;</div>
406
+ <div class="line"><a name="l00335"></a><span class="lineno"> 335</span>&#160; }</div>
407
+ <div class="line"><a name="l00336"></a><span class="lineno"> 336</span>&#160;}</div>
408
+ <div class="line"><a name="l00337"></a><span class="lineno"> 337</span>&#160; </div>
409
+ <div class="line"><a name="l00338"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBugReport.html#aa119593331403f73867fddcb6ec26989"> 338</a></span>&#160;<span class="keywordtype">void</span> SVFBugReport::dumpToJsonFile(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>&amp; filePath)<span class="keyword"> const</span></div>
410
+ <div class="line"><a name="l00339"></a><span class="lineno"> 339</span>&#160;<span class="keyword"></span>{</div>
411
+ <div class="line"><a name="l00340"></a><span class="lineno"> 340</span>&#160; std::map&lt;u32_t, std::string&gt; eventType2Str =</div>
412
+ <div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; {</div>
413
+ <div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; {SVFBugEvent::CallSite, <span class="stringliteral">&quot;call site&quot;</span>},</div>
414
+ <div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; {SVFBugEvent::Caller, <span class="stringliteral">&quot;caller&quot;</span>},</div>
415
+ <div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; {<a class="code" href="namespaceSVF.html#abf85e29310b2e4df8925d00a5c081314">SVFBugEvent::Loop</a>, <span class="stringliteral">&quot;loop&quot;</span>},</div>
416
+ <div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; {SVFBugEvent::Branch, <span class="stringliteral">&quot;branch&quot;</span>}</div>
417
+ <div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; };</div>
418
+ <div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; </div>
419
+ <div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; ofstream jsonFile(filePath, ios::out);</div>
420
+ <div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; </div>
421
+ <div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; jsonFile &lt;&lt; <span class="stringliteral">&quot;[&quot;</span>;</div>
422
+ <div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; </div>
423
+ <div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160; <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>&#160; <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>&#160; {</div>
426
+ <div class="line"><a name="l00355"></a><span class="lineno"> 355</span>&#160; <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>&#160; </div>
428
+ <div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugType = cJSON_CreateString(GenericBug::BugType2Str.at(bugPtr-&gt;getBugType()).c_str());</div>
429
+ <div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; cJSON_AddItemToObject(singleBug, <span class="stringliteral">&quot;DefectType&quot;</span>, bugType);</div>
430
+ <div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; </div>
431
+ <div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugLoc = cJSON_Parse(bugPtr-&gt;getLoc().c_str());</div>
432
+ <div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <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>&#160; {</div>
434
+ <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; bugLoc = cJSON_CreateObject();</div>
435
+ <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; }</div>
436
+ <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; cJSON_AddItemToObject(singleBug, <span class="stringliteral">&quot;Location&quot;</span>, bugLoc);</div>
437
+ <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; </div>
438
+ <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugFunction = cJSON_CreateString(bugPtr-&gt;getFuncName().c_str());</div>
439
+ <div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; cJSON_AddItemToObject(singleBug, <span class="stringliteral">&quot;Function&quot;</span>, bugFunction);</div>
440
+ <div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; </div>
441
+ <div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; cJSON_AddItemToObject(singleBug, <span class="stringliteral">&quot;Description&quot;</span>, bugPtr-&gt;getBugDescription());</div>
442
+ <div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; </div>
443
+ <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <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>&#160; <span class="keyword">const</span> <a class="code" href="classSVF_1_1GenericBug.html#acc65b033bfd61257d5b6fdbf932dfafe">GenericBug::EventStack</a> &amp;bugEventStack = bugPtr-&gt;getEventStack();</div>
445
+ <div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <span class="keywordflow">if</span>(BufferOverflowBug::classof(bugPtr))</div>
446
+ <div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; {</div>
447
+ <div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <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>&#160; <span class="keywordflow">for</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBugEvent.html">SVFBugEvent</a>&amp;event : bugEventStack)</div>
449
+ <div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; {</div>
450
+ <div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="keywordflow">if</span> (event.getEventType() == SVFBugEvent::SourceInst)</div>
451
+ <div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; {</div>
452
+ <div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; <span class="keywordflow">continue</span>;</div>
453
+ <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; }</div>
454
+ <div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; </div>
455
+ <div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <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>&#160; <span class="comment">//event type</span></div>
457
+ <div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <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>&#160; cJSON_AddItemToObject(singleEvent, <span class="stringliteral">&quot;EventType&quot;</span>, eventType);</div>
459
+ <div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="comment">//function name</span></div>
460
+ <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <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>&#160; cJSON_AddItemToObject(singleEvent, <span class="stringliteral">&quot;Function&quot;</span>, eventFunc);</div>
462
+ <div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="comment">//event loc</span></div>
463
+ <div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; <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>&#160; <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>&#160; {</div>
466
+ <div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; eventLoc = cJSON_CreateObject();</div>
467
+ <div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; }</div>
468
+ <div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; cJSON_AddItemToObject(singleEvent, <span class="stringliteral">&quot;Location&quot;</span>, eventLoc);</div>
469
+ <div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; <span class="comment">//event description</span></div>
470
+ <div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; <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>&#160; cJSON_AddItemToObject(singleEvent, <span class="stringliteral">&quot;Description&quot;</span>, eventDescription);</div>
472
+ <div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; </div>
473
+ <div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; cJSON_AddItemToArray(eventList, singleEvent);</div>
474
+ <div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; }</div>
475
+ <div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160; }</div>
476
+ <div class="line"><a name="l00407"></a><span class="lineno"> 407</span>&#160; cJSON_AddItemToObject(singleBug, <span class="stringliteral">&quot;Events&quot;</span>, eventList);</div>
477
+ <div class="line"><a name="l00408"></a><span class="lineno"> 408</span>&#160; </div>
478
+ <div class="line"><a name="l00410"></a><span class="lineno"> 410</span>&#160; <span class="keywordtype">char</span> *singleBugStr = cJSON_Print(singleBug);</div>
479
+ <div class="line"><a name="l00411"></a><span class="lineno"> 411</span>&#160; jsonFile &lt;&lt; singleBugStr;</div>
480
+ <div class="line"><a name="l00412"></a><span class="lineno"> 412</span>&#160; <span class="keywordflow">if</span> (commaCounter != 0)</div>
481
+ <div class="line"><a name="l00413"></a><span class="lineno"> 413</span>&#160; {</div>
482
+ <div class="line"><a name="l00414"></a><span class="lineno"> 414</span>&#160; jsonFile &lt;&lt; <span class="stringliteral">&quot;,\n&quot;</span>;</div>
483
+ <div class="line"><a name="l00415"></a><span class="lineno"> 415</span>&#160; }</div>
484
+ <div class="line"><a name="l00416"></a><span class="lineno"> 416</span>&#160; commaCounter --;</div>
485
+ <div class="line"><a name="l00417"></a><span class="lineno"> 417</span>&#160; </div>
486
+ <div class="line"><a name="l00419"></a><span class="lineno"> 419</span>&#160; <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>&#160; }</div>
488
+ <div class="line"><a name="l00421"></a><span class="lineno"> 421</span>&#160; </div>
489
+ <div class="line"><a name="l00422"></a><span class="lineno"> 422</span>&#160; jsonFile &lt;&lt; <span class="stringliteral">&quot;]&quot;</span>;</div>
490
+ <div class="line"><a name="l00423"></a><span class="lineno"> 423</span>&#160; jsonFile.close();</div>
491
+ <div class="line"><a name="l00424"></a><span class="lineno"> 424</span>&#160;}</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 &amp; 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 &amp;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#l00253">SVFBugReport.cpp:253</a></div></div>
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#l00258">SVFBugReport.cpp:258</a></div></div>
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 &amp; 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">&#160;</td></tr>
108
108
  <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</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">&#160;</td></tr>
110
+ <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</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">&#160;</td></tr>
112
+ <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</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">&#160;</td></tr>
110
114
  <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</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">&#160;</td></tr>
112
116
  </table><table class="memberdecls">