svf-tools 1.0.751 → 1.0.753

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 (40) hide show
  1. package/SVF-doxygen/html/html/BoundedZ3Expr_8cpp_source.html +3 -3
  2. package/SVF-doxygen/html/html/BoundedZ3Expr_8h.html +24 -1
  3. package/SVF-doxygen/html/html/BoundedZ3Expr_8h_source.html +373 -376
  4. package/SVF-doxygen/html/html/ConsExeState_8cpp_source.html +1 -1
  5. package/SVF-doxygen/html/html/NumericLiteral_8h_source.html +12 -12
  6. package/SVF-doxygen/html/html/SVFBugReport_8cpp_source.html +371 -369
  7. package/SVF-doxygen/html/html/SVFBugReport_8h_source.html +63 -51
  8. package/SVF-doxygen/html/html/SingleAbsValue_8h_source.html +4 -4
  9. package/SVF-doxygen/html/html/classSVF_1_1BoundedZ3Expr.html +291 -296
  10. package/SVF-doxygen/html/html/classSVF_1_1BufferOverflowBug.html +51 -51
  11. package/SVF-doxygen/html/html/classSVF_1_1ConsExeState.html +1 -1
  12. package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeBug.html +36 -36
  13. package/SVF-doxygen/html/html/classSVF_1_1FileNeverCloseBug.html +11 -11
  14. package/SVF-doxygen/html/html/classSVF_1_1FilePartialCloseBug.html +36 -36
  15. package/SVF-doxygen/html/html/classSVF_1_1FullNullPtrDereferenceBug.html +11 -11
  16. package/SVF-doxygen/html/html/classSVF_1_1GenericBug.html +17 -15
  17. package/SVF-doxygen/html/html/classSVF_1_1NeverFreeBug.html +11 -11
  18. package/SVF-doxygen/html/html/classSVF_1_1NumericLiteral.html +11 -11
  19. package/SVF-doxygen/html/html/classSVF_1_1PartialLeakBug.html +35 -35
  20. package/SVF-doxygen/html/html/classSVF_1_1PartialNullPtrDereferenceBug.html +11 -11
  21. package/SVF-doxygen/html/html/classSVF_1_1SVFBugEvent.html +49 -49
  22. package/SVF-doxygen/html/html/classSVF_1_1SVFBugReport.html +113 -99
  23. package/SVF-doxygen/html/html/classSVF_1_1SingleAbsValue.html +3 -3
  24. package/SVF-doxygen/html/html/globals_defs.html +7 -0
  25. package/SVF-doxygen/html/html/globals_m.html +4 -1
  26. package/SVF-doxygen/html/html/menudata.js +1 -0
  27. package/SVF-doxygen/html/html/search/all_13.js +1 -1
  28. package/SVF-doxygen/html/html/search/all_d.js +1 -1
  29. package/SVF-doxygen/html/html/search/defines_b.js +1 -2
  30. package/SVF-doxygen/html/html/search/defines_c.js +2 -2
  31. package/SVF-doxygen/html/html/search/defines_d.js +2 -6
  32. package/SVF-doxygen/html/html/search/defines_e.js +6 -3
  33. package/SVF-doxygen/html/html/search/defines_f.html +6 -2
  34. package/SVF-doxygen/html/html/search/defines_f.js +3 -26
  35. package/SVF-doxygen/html/html/search/searchdata.js +1 -1
  36. package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1BoundedZ3Expr_01_4.html +5 -5
  37. package/package.json +1 -1
  38. package/svf/include/AbstractExecution/BoundedZ3Expr.h +8 -12
  39. package/svf/include/Util/SVFBugReport.h +12 -0
  40. package/svf/lib/Util/SVFBugReport.cpp +3 -1
@@ -289,21 +289,21 @@ Additional Inherited Members</h2></td></tr>
289
289
 
290
290
  <p>Implements <a class="el" href="classSVF_1_1GenericBug.html#aed9feb57ffb0860cbdd13698fd4dbf6c">SVF::GenericBug</a>.</p>
291
291
 
292
- <p class="definition">Definition at line <a class="el" href="SVFBugReport_8cpp_source.html#l00063">63</a> of file <a class="el" href="SVFBugReport_8cpp_source.html">SVFBugReport.cpp</a>.</p>
293
- <div class="fragment"><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;{</div>
294
- <div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
295
- <div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *allocLB = cJSON_CreateNumber(<a class="code" href="classSVF_1_1BufferOverflowBug.html#a6e4a91344c5e4fa7b22e03dd3a1bada2">allocLowerBound</a>);</div>
296
- <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *allocUB = cJSON_CreateNumber(<a class="code" href="classSVF_1_1BufferOverflowBug.html#a608644b6a751669f7e0130a00c28d7ca">allocUpperBound</a>);</div>
297
- <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *accessLB = cJSON_CreateNumber(<a class="code" href="classSVF_1_1BufferOverflowBug.html#a07fa3b9bf041ade658526fd3bc9d361c">accessLowerBound</a>);</div>
298
- <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *accessUB = cJSON_CreateNumber(<a class="code" href="classSVF_1_1BufferOverflowBug.html#a04cb8d2b008019cf48e2d70ba20c3098">accessUpperBound</a>);</div>
299
- <div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; </div>
300
- <div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; cJSON_AddItemToObject(bugDescription, <span class="stringliteral">&quot;AllocLowerBound&quot;</span>, allocLB);</div>
301
- <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; cJSON_AddItemToObject(bugDescription, <span class="stringliteral">&quot;AllocUpperBound&quot;</span>, allocUB);</div>
302
- <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; cJSON_AddItemToObject(bugDescription, <span class="stringliteral">&quot;AccessLowerBound&quot;</span>, accessLB);</div>
303
- <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; cJSON_AddItemToObject(bugDescription, <span class="stringliteral">&quot;AccessUpperBound&quot;</span>, accessUB);</div>
304
- <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; </div>
305
- <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">return</span> bugDescription;</div>
306
- <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160;}</div>
292
+ <p class="definition">Definition at line <a class="el" href="SVFBugReport_8cpp_source.html#l00065">65</a> of file <a class="el" href="SVFBugReport_8cpp_source.html">SVFBugReport.cpp</a>.</p>
293
+ <div class="fragment"><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;{</div>
294
+ <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
295
+ <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *allocLB = cJSON_CreateNumber(<a class="code" href="classSVF_1_1BufferOverflowBug.html#a6e4a91344c5e4fa7b22e03dd3a1bada2">allocLowerBound</a>);</div>
296
+ <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *allocUB = cJSON_CreateNumber(<a class="code" href="classSVF_1_1BufferOverflowBug.html#a608644b6a751669f7e0130a00c28d7ca">allocUpperBound</a>);</div>
297
+ <div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *accessLB = cJSON_CreateNumber(<a class="code" href="classSVF_1_1BufferOverflowBug.html#a07fa3b9bf041ade658526fd3bc9d361c">accessLowerBound</a>);</div>
298
+ <div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *accessUB = cJSON_CreateNumber(<a class="code" href="classSVF_1_1BufferOverflowBug.html#a04cb8d2b008019cf48e2d70ba20c3098">accessUpperBound</a>);</div>
299
+ <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; </div>
300
+ <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; cJSON_AddItemToObject(bugDescription, <span class="stringliteral">&quot;AllocLowerBound&quot;</span>, allocLB);</div>
301
+ <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; cJSON_AddItemToObject(bugDescription, <span class="stringliteral">&quot;AllocUpperBound&quot;</span>, allocUB);</div>
302
+ <div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; cJSON_AddItemToObject(bugDescription, <span class="stringliteral">&quot;AccessLowerBound&quot;</span>, accessLB);</div>
303
+ <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; cJSON_AddItemToObject(bugDescription, <span class="stringliteral">&quot;AccessUpperBound&quot;</span>, accessUB);</div>
304
+ <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; </div>
305
+ <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">return</span> bugDescription;</div>
306
+ <div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;}</div>
307
307
  </div><!-- fragment -->
308
308
  </div>
309
309
  </div>
@@ -332,42 +332,42 @@ Additional Inherited Members</h2></td></tr>
332
332
 
333
333
  <p>Implements <a class="el" href="classSVF_1_1GenericBug.html#aabf06cd1094ddbf7ee419c635f29a948">SVF::GenericBug</a>.</p>
334
334
 
335
- <p class="definition">Definition at line <a class="el" href="SVFBugReport_8cpp_source.html#l00079">79</a> of file <a class="el" href="SVFBugReport_8cpp_source.html">SVFBugReport.cpp</a>.</p>
336
- <div class="fragment"><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160;{</div>
337
- <div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; stringstream bugInfo;</div>
338
- <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1FullBufferOverflowBug.html#a87e463d4e7af1a3421da2ad73e01eb7d">FullBufferOverflowBug::classof</a>(<span class="keyword">this</span>))</div>
339
- <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; {</div>
340
- <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a10504db25b86bc7f74aebb9c54f04cb3">SVFUtil::bugMsg1</a>(<span class="stringliteral">&quot;\t Full Overflow :&quot;</span>) &lt;&lt; <span class="stringliteral">&quot; accessing at : (&quot;</span></div>
341
- <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; &lt;&lt; <a class="code" href="classSVF_1_1GenericBug.html#abbc86875488c27e53e5c36e95c472b20">GenericBug::getLoc</a>() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div>
342
- <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; </div>
343
- <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; }</div>
344
- <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">else</span></div>
345
- <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; {</div>
346
- <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a10504db25b86bc7f74aebb9c54f04cb3">SVFUtil::bugMsg1</a>(<span class="stringliteral">&quot;\t Partial Overflow :&quot;</span>) &lt;&lt; <span class="stringliteral">&quot; accessing at : (&quot;</span></div>
347
- <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; &lt;&lt; <a class="code" href="classSVF_1_1GenericBug.html#abbc86875488c27e53e5c36e95c472b20">GenericBug::getLoc</a>() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div>
348
- <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; }</div>
349
- <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; bugInfo &lt;&lt; <span class="stringliteral">&quot;\t\t allocate size : [&quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1BufferOverflowBug.html#a6e4a91344c5e4fa7b22e03dd3a1bada2">allocLowerBound</a> &lt;&lt; <span class="stringliteral">&quot;, &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1BufferOverflowBug.html#a608644b6a751669f7e0130a00c28d7ca">allocUpperBound</a> &lt;&lt; <span class="stringliteral">&quot;], &quot;</span>;</div>
350
- <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; bugInfo &lt;&lt; <span class="stringliteral">&quot;access size : [&quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1BufferOverflowBug.html#a07fa3b9bf041ade658526fd3bc9d361c">accessLowerBound</a> &lt;&lt; <span class="stringliteral">&quot;, &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1BufferOverflowBug.html#a04cb8d2b008019cf48e2d70ba20c3098">accessUpperBound</a> &lt;&lt; <span class="stringliteral">&quot;]\n&quot;</span>;</div>
351
- <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t Info : \n&quot;</span> &lt;&lt; bugInfo.str();</div>
352
- <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t Events : \n&quot;</span>;</div>
353
- <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; </div>
354
- <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> event : <a class="code" href="classSVF_1_1GenericBug.html#ac0b91adaf9df0d57dc2e179d962ca490">bugEventStack</a>)</div>
355
- <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; {</div>
356
- <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">switch</span>(event.getEventType())</div>
357
- <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; {</div>
358
- <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1SVFBugEvent.html#a4d0c0744525bc445a64176c3808377f3aa16d1c3d5b68a356288ba49f4aee1629">SVFBugEvent::CallSite</a>:</div>
335
+ <p class="definition">Definition at line <a class="el" href="SVFBugReport_8cpp_source.html#l00081">81</a> of file <a class="el" href="SVFBugReport_8cpp_source.html">SVFBugReport.cpp</a>.</p>
336
+ <div class="fragment"><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;{</div>
337
+ <div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; stringstream bugInfo;</div>
338
+ <div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1FullBufferOverflowBug.html#a87e463d4e7af1a3421da2ad73e01eb7d">FullBufferOverflowBug::classof</a>(<span class="keyword">this</span>))</div>
339
+ <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; {</div>
340
+ <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a10504db25b86bc7f74aebb9c54f04cb3">SVFUtil::bugMsg1</a>(<span class="stringliteral">&quot;\t Full Overflow :&quot;</span>) &lt;&lt; <span class="stringliteral">&quot; accessing at : (&quot;</span></div>
341
+ <div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; &lt;&lt; <a class="code" href="classSVF_1_1GenericBug.html#abbc86875488c27e53e5c36e95c472b20">GenericBug::getLoc</a>() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div>
342
+ <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; </div>
343
+ <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; }</div>
344
+ <div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">else</span></div>
345
+ <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; {</div>
346
+ <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a10504db25b86bc7f74aebb9c54f04cb3">SVFUtil::bugMsg1</a>(<span class="stringliteral">&quot;\t Partial Overflow :&quot;</span>) &lt;&lt; <span class="stringliteral">&quot; accessing at : (&quot;</span></div>
347
+ <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; &lt;&lt; <a class="code" href="classSVF_1_1GenericBug.html#abbc86875488c27e53e5c36e95c472b20">GenericBug::getLoc</a>() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div>
348
+ <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; }</div>
349
+ <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; bugInfo &lt;&lt; <span class="stringliteral">&quot;\t\t allocate size : [&quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1BufferOverflowBug.html#a6e4a91344c5e4fa7b22e03dd3a1bada2">allocLowerBound</a> &lt;&lt; <span class="stringliteral">&quot;, &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1BufferOverflowBug.html#a608644b6a751669f7e0130a00c28d7ca">allocUpperBound</a> &lt;&lt; <span class="stringliteral">&quot;], &quot;</span>;</div>
350
+ <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; bugInfo &lt;&lt; <span class="stringliteral">&quot;access size : [&quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1BufferOverflowBug.html#a07fa3b9bf041ade658526fd3bc9d361c">accessLowerBound</a> &lt;&lt; <span class="stringliteral">&quot;, &quot;</span> &lt;&lt; <a class="code" href="classSVF_1_1BufferOverflowBug.html#a04cb8d2b008019cf48e2d70ba20c3098">accessUpperBound</a> &lt;&lt; <span class="stringliteral">&quot;]\n&quot;</span>;</div>
351
+ <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t Info : \n&quot;</span> &lt;&lt; bugInfo.str();</div>
352
+ <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t Events : \n&quot;</span>;</div>
353
+ <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; </div>
354
+ <div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> event : <a class="code" href="classSVF_1_1GenericBug.html#ac0b91adaf9df0d57dc2e179d962ca490">bugEventStack</a>)</div>
355
+ <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; {</div>
356
+ <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; <span class="keywordflow">switch</span>(event.getEventType())</div>
359
357
  <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; {</div>
360
- <div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t callsite at : ( &quot;</span> &lt;&lt; <span class="keyword">event</span>.getEventLoc() &lt;&lt; <span class="stringliteral">&quot; )\n&quot;</span>;</div>
361
- <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">break</span>;</div>
362
- <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; }</div>
363
- <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">default</span>:</div>
364
- <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; {</div>
365
- <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="comment">// TODO: implement more events when needed</span></div>
366
- <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">break</span>;</div>
367
- <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; }</div>
368
- <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; }</div>
369
- <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; }</div>
370
- <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;}</div>
358
+ <div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="keywordflow">case</span> <a class="code" href="classSVF_1_1SVFBugEvent.html#a4d0c0744525bc445a64176c3808377f3aa16d1c3d5b68a356288ba49f4aee1629">SVFBugEvent::CallSite</a>:</div>
359
+ <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; {</div>
360
+ <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t callsite at : ( &quot;</span> &lt;&lt; <span class="keyword">event</span>.getEventLoc() &lt;&lt; <span class="stringliteral">&quot; )\n&quot;</span>;</div>
361
+ <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordflow">break</span>;</div>
362
+ <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; }</div>
363
+ <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">default</span>:</div>
364
+ <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; {</div>
365
+ <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="comment">// TODO: implement more events when needed</span></div>
366
+ <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">break</span>;</div>
367
+ <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; }</div>
368
+ <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; }</div>
369
+ <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; }</div>
370
+ <div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160;}</div>
371
371
  </div><!-- fragment -->
372
372
  </div>
373
373
  </div>
@@ -483,7 +483,7 @@ Additional Inherited Members</h2></td></tr>
483
483
  <div class="ttc" id="aclassSVF_1_1SVFBugEvent_html_a4d0c0744525bc445a64176c3808377f3aa16d1c3d5b68a356288ba49f4aee1629"><div class="ttname"><a href="classSVF_1_1SVFBugEvent.html#a4d0c0744525bc445a64176c3808377f3aa16d1c3d5b68a356288ba49f4aee1629">SVF::SVFBugEvent::CallSite</a></div><div class="ttdeci">@ CallSite</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8h_source.html#l00058">SVFBugReport.h:58</a></div></div>
484
484
  <div class="ttc" id="aclassSVF_1_1GenericBug_html_ac0b91adaf9df0d57dc2e179d962ca490"><div class="ttname"><a href="classSVF_1_1GenericBug.html#ac0b91adaf9df0d57dc2e179d962ca490">SVF::GenericBug::bugEventStack</a></div><div class="ttdeci">const EventStack bugEventStack</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8h_source.html#l00091">SVFBugReport.h:91</a></div></div>
485
485
  <div class="ttc" id="aclassSVF_1_1GenericBug_html_a143c39c6a120e0ea1371bc309bf05d51"><div class="ttname"><a href="classSVF_1_1GenericBug.html#a143c39c6a120e0ea1371bc309bf05d51">SVF::GenericBug::bugType</a></div><div class="ttdeci">BugType bugType</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8h_source.html#l00090">SVFBugReport.h:90</a></div></div>
486
- <div class="ttc" id="aclassSVF_1_1GenericBug_html_abbc86875488c27e53e5c36e95c472b20"><div class="ttname"><a href="classSVF_1_1GenericBug.html#abbc86875488c27e53e5c36e95c472b20">SVF::GenericBug::getLoc</a></div><div class="ttdeci">const std::string getLoc() const</div><div class="ttdoc">returns bug location as json format string</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8cpp_source.html#l00049">SVFBugReport.cpp:49</a></div></div>
486
+ <div class="ttc" id="aclassSVF_1_1GenericBug_html_abbc86875488c27e53e5c36e95c472b20"><div class="ttname"><a href="classSVF_1_1GenericBug.html#abbc86875488c27e53e5c36e95c472b20">SVF::GenericBug::getLoc</a></div><div class="ttdeci">const std::string getLoc() const</div><div class="ttdoc">returns bug location as json format string</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8cpp_source.html#l00051">SVFBugReport.cpp:51</a></div></div>
487
487
  <div class="ttc" id="aclassSVF_1_1BufferOverflowBug_html_a04cb8d2b008019cf48e2d70ba20c3098"><div class="ttname"><a href="classSVF_1_1BufferOverflowBug.html#a04cb8d2b008019cf48e2d70ba20c3098">SVF::BufferOverflowBug::accessUpperBound</a></div><div class="ttdeci">s64_t accessUpperBound</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8h_source.html#l00124">SVFBugReport.h:124</a></div></div>
488
488
  <div class="ttc" id="aclassSVF_1_1GenericBug_html_a7aeeb33097bca5f7fe6747f90f5cecacadb1a72cee4debc5821c1e209b5c85cf2"><div class="ttname"><a href="classSVF_1_1GenericBug.html#a7aeeb33097bca5f7fe6747f90f5cecacadb1a72cee4debc5821c1e209b5c85cf2">SVF::GenericBug::PARTIALBUFOVERFLOW</a></div><div class="ttdeci">@ PARTIALBUFOVERFLOW</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8h_source.html#l00086">SVFBugReport.h:86</a></div></div>
489
489
  <div class="ttc" id="aclassSVF_1_1BufferOverflowBug_html_a608644b6a751669f7e0130a00c28d7ca"><div class="ttname"><a href="classSVF_1_1BufferOverflowBug.html#a608644b6a751669f7e0130a00c28d7ca">SVF::BufferOverflowBug::allocUpperBound</a></div><div class="ttdeci">s64_t allocUpperBound</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8h_source.html#l00124">SVFBugReport.h:124</a></div></div>
@@ -2803,7 +2803,7 @@ Additional Inherited Members</h2></td></tr>
2803
2803
  <div class="ttc" id="aclassSVF_1_1SingleAbsValue_html_a70528ca5e4ad67b593104a7b2bba17c6"><div class="ttname"><a href="classSVF_1_1SingleAbsValue.html#a70528ca5e4ad67b593104a7b2bba17c6">SVF::SingleAbsValue::topConstant</a></div><div class="ttdeci">static SingleAbsValue topConstant()</div><div class="ttdef"><b>Definition:</b> <a href="SingleAbsValue_8h_source.html#l00053">SingleAbsValue.h:53</a></div></div>
2804
2804
  <div class="ttc" id="aclassSVF_1_1ConsExeState_html_a990f50ae338a2e332d333bb3fc04c520"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a990f50ae338a2e332d333bb3fc04c520">SVF::ConsExeState::getVarToVal</a></div><div class="ttdeci">const VarToValMap &amp; getVarToVal() const</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00339">ConsExeState.h:339</a></div></div>
2805
2805
  <div class="ttc" id="aclassSVF_1_1ConsExeState_html_ac3ea5c4d65fac8934276a1ad12c97d06"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#ac3ea5c4d65fac8934276a1ad12c97d06">SVF::ConsExeState::globalConsES</a></div><div class="ttdeci">static ConsExeState globalConsES</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8h_source.html#l00055">ConsExeState.h:55</a></div></div>
2806
- <div class="ttc" id="aclassSVF_1_1BoundedZ3Expr_html_ae1a0bc98b18563c87136dea2a60f67be"><div class="ttname"><a href="classSVF_1_1BoundedZ3Expr.html#ae1a0bc98b18563c87136dea2a60f67be">SVF::BoundedZ3Expr::is_zero</a></div><div class="ttdeci">bool is_zero() const</div><div class="ttdef"><b>Definition:</b> <a href="BoundedZ3Expr_8h_source.html#l00113">BoundedZ3Expr.h:113</a></div></div>
2806
+ <div class="ttc" id="aclassSVF_1_1BoundedZ3Expr_html_ae1a0bc98b18563c87136dea2a60f67be"><div class="ttname"><a href="classSVF_1_1BoundedZ3Expr.html#ae1a0bc98b18563c87136dea2a60f67be">SVF::BoundedZ3Expr::is_zero</a></div><div class="ttdeci">bool is_zero() const</div><div class="ttdef"><b>Definition:</b> <a href="BoundedZ3Expr_8h_source.html#l00114">BoundedZ3Expr.h:114</a></div></div>
2807
2807
  <div class="ttc" id="aclassSVF_1_1SVFIR_html_a37cfa2aa4e7b98ef9dc8179f581a2362"><div class="ttname"><a href="classSVF_1_1SVFIR.html#a37cfa2aa4e7b98ef9dc8179f581a2362">SVF::SVFIR::getPAG</a></div><div class="ttdeci">static SVFIR * getPAG(bool buildFromFile=false)</div><div class="ttdoc">Singleton design here to make sure we only have one instance during any analysis.</div><div class="ttdef"><b>Definition:</b> <a href="SVFIR_8h_source.html#l00113">SVFIR.h:113</a></div></div>
2808
2808
  <div class="ttc" id="aclassSVF_1_1ConsExeState_html_a4878ea0f5c2cc014ac2f5ecbc6534466"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#a4878ea0f5c2cc014ac2f5ecbc6534466">SVF::ConsExeState::lessThanVarToValMap</a></div><div class="ttdeci">static bool lessThanVarToValMap(const VarToValMap &amp;lhs, const VarToValMap &amp;rhs)</div><div class="ttdoc">Whether lhs is less than rhs.</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8cpp_source.html#l00559">ConsExeState.cpp:559</a></div></div>
2809
2809
  <div class="ttc" id="aclassSVF_1_1ConsExeState_html_adbf80e78f27a30f257fa8790f1cb78f5"><div class="ttname"><a href="classSVF_1_1ConsExeState.html#adbf80e78f27a30f257fa8790f1cb78f5">SVF::ConsExeState::store</a></div><div class="ttdeci">bool store(const SingleAbsValue &amp;loc, const SingleAbsValue &amp;value)</div><div class="ttdoc">Store value to location.</div><div class="ttdef"><b>Definition:</b> <a href="ConsExeState_8cpp_source.html#l00508">ConsExeState.cpp:508</a></div></div>
@@ -239,28 +239,28 @@ Additional Inherited Members</h2></td></tr>
239
239
 
240
240
  <p>Implements <a class="el" href="classSVF_1_1GenericBug.html#aed9feb57ffb0860cbdd13698fd4dbf6c">SVF::GenericBug</a>.</p>
241
241
 
242
- <p class="definition">Definition at line <a class="el" href="SVFBugReport_8cpp_source.html#l00166">166</a> of file <a class="el" href="SVFBugReport_8cpp_source.html">SVFBugReport.cpp</a>.</p>
243
- <div class="fragment"><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;{</div>
244
- <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
245
- <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; </div>
246
- <div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *pathInfo = cJSON_CreateArray();</div>
247
- <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; <span class="keyword">auto</span> lastBranchEventIt = <a class="code" href="classSVF_1_1GenericBug.html#ac0b91adaf9df0d57dc2e179d962ca490">bugEventStack</a>.end() - 1;</div>
248
- <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> eventIt = <a class="code" href="classSVF_1_1GenericBug.html#ac0b91adaf9df0d57dc2e179d962ca490">bugEventStack</a>.begin(); eventIt != lastBranchEventIt; eventIt++)</div>
249
- <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; {</div>
250
- <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *newBranch = cJSON_CreateObject();</div>
251
- <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *branchLoc = cJSON_Parse((*eventIt).getEventLoc().c_str());</div>
252
- <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordflow">if</span>(branchLoc == <span class="keyword">nullptr</span>) branchLoc = cJSON_CreateObject();</div>
253
- <div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *branchCondition = cJSON_CreateString((*eventIt).getEventDescription().c_str());</div>
254
- <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; </div>
255
- <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; cJSON_AddItemToObject(newBranch, <span class="stringliteral">&quot;BranchLoc&quot;</span>, branchLoc);</div>
256
- <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; cJSON_AddItemToObject(newBranch, <span class="stringliteral">&quot;BranchCond&quot;</span>, branchCondition);</div>
257
- <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; </div>
258
- <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; cJSON_AddItemToArray(pathInfo, newBranch);</div>
259
- <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; }</div>
260
- <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; cJSON_AddItemToObject(bugDescription, <span class="stringliteral">&quot;DoubleFreePath&quot;</span>, pathInfo);</div>
261
- <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; </div>
262
- <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordflow">return</span> bugDescription;</div>
263
- <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160;}</div>
242
+ <p class="definition">Definition at line <a class="el" href="SVFBugReport_8cpp_source.html#l00168">168</a> of file <a class="el" href="SVFBugReport_8cpp_source.html">SVFBugReport.cpp</a>.</p>
243
+ <div class="fragment"><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160;{</div>
244
+ <div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
245
+ <div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160; </div>
246
+ <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *pathInfo = cJSON_CreateArray();</div>
247
+ <div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <span class="keyword">auto</span> lastBranchEventIt = <a class="code" href="classSVF_1_1GenericBug.html#ac0b91adaf9df0d57dc2e179d962ca490">bugEventStack</a>.end() - 1;</div>
248
+ <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> eventIt = <a class="code" href="classSVF_1_1GenericBug.html#ac0b91adaf9df0d57dc2e179d962ca490">bugEventStack</a>.begin(); eventIt != lastBranchEventIt; eventIt++)</div>
249
+ <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; {</div>
250
+ <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *newBranch = cJSON_CreateObject();</div>
251
+ <div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *branchLoc = cJSON_Parse((*eventIt).getEventLoc().c_str());</div>
252
+ <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <span class="keywordflow">if</span>(branchLoc == <span class="keyword">nullptr</span>) branchLoc = cJSON_CreateObject();</div>
253
+ <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *branchCondition = cJSON_CreateString((*eventIt).getEventDescription().c_str());</div>
254
+ <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; </div>
255
+ <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; cJSON_AddItemToObject(newBranch, <span class="stringliteral">&quot;BranchLoc&quot;</span>, branchLoc);</div>
256
+ <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; cJSON_AddItemToObject(newBranch, <span class="stringliteral">&quot;BranchCond&quot;</span>, branchCondition);</div>
257
+ <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; </div>
258
+ <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; cJSON_AddItemToArray(pathInfo, newBranch);</div>
259
+ <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; }</div>
260
+ <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; cJSON_AddItemToObject(bugDescription, <span class="stringliteral">&quot;DoubleFreePath&quot;</span>, pathInfo);</div>
261
+ <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; </div>
262
+ <div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordflow">return</span> bugDescription;</div>
263
+ <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160;}</div>
264
264
  </div><!-- fragment -->
265
265
  </div>
266
266
  </div>
@@ -289,19 +289,19 @@ Additional Inherited Members</h2></td></tr>
289
289
 
290
290
  <p>Implements <a class="el" href="classSVF_1_1GenericBug.html#aabf06cd1094ddbf7ee419c635f29a948">SVF::GenericBug</a>.</p>
291
291
 
292
- <p class="definition">Definition at line <a class="el" href="SVFBugReport_8cpp_source.html#l00189">189</a> of file <a class="el" href="SVFBugReport_8cpp_source.html">SVFBugReport.cpp</a>.</p>
293
- <div class="fragment"><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160;{</div>
294
- <div class="line"><a name="l00191"></a><span class="lineno"> 191</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 Double Free :&quot;</span>) &lt;&lt; <span class="stringliteral">&quot; memory allocation at : (&quot;</span></div>
295
- <div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; &lt;&lt; <a class="code" href="classSVF_1_1GenericBug.html#abbc86875488c27e53e5c36e95c472b20">GenericBug::getLoc</a>() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div>
296
- <div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; </div>
297
- <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t double free path: \n&quot;</span>;</div>
298
- <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; <span class="keyword">auto</span> lastBranchEventIt = <a class="code" href="classSVF_1_1GenericBug.html#ac0b91adaf9df0d57dc2e179d962ca490">bugEventStack</a>.end() - 1;</div>
299
- <div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> eventIt = <a class="code" href="classSVF_1_1GenericBug.html#ac0b91adaf9df0d57dc2e179d962ca490">bugEventStack</a>.begin(); eventIt != lastBranchEventIt; eventIt++)</div>
300
- <div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; {</div>
301
- <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t --&gt; (&quot;</span> &lt;&lt; (*eventIt).getEventLoc() &lt;&lt; <span class="stringliteral">&quot;|&quot;</span> &lt;&lt; (*eventIt).getEventDescription() &lt;&lt; <span class="stringliteral">&quot;) \n&quot;</span>;</div>
302
- <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; }</div>
303
- <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
304
- <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;}</div>
292
+ <p class="definition">Definition at line <a class="el" href="SVFBugReport_8cpp_source.html#l00191">191</a> of file <a class="el" href="SVFBugReport_8cpp_source.html">SVFBugReport.cpp</a>.</p>
293
+ <div class="fragment"><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160;{</div>
294
+ <div class="line"><a name="l00193"></a><span class="lineno"> 193</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 Double Free :&quot;</span>) &lt;&lt; <span class="stringliteral">&quot; memory allocation at : (&quot;</span></div>
295
+ <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160; &lt;&lt; <a class="code" href="classSVF_1_1GenericBug.html#abbc86875488c27e53e5c36e95c472b20">GenericBug::getLoc</a>() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div>
296
+ <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; </div>
297
+ <div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t double free path: \n&quot;</span>;</div>
298
+ <div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keyword">auto</span> lastBranchEventIt = <a class="code" href="classSVF_1_1GenericBug.html#ac0b91adaf9df0d57dc2e179d962ca490">bugEventStack</a>.end() - 1;</div>
299
+ <div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> eventIt = <a class="code" href="classSVF_1_1GenericBug.html#ac0b91adaf9df0d57dc2e179d962ca490">bugEventStack</a>.begin(); eventIt != lastBranchEventIt; eventIt++)</div>
300
+ <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; {</div>
301
+ <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t --&gt; (&quot;</span> &lt;&lt; (*eventIt).getEventLoc() &lt;&lt; <span class="stringliteral">&quot;|&quot;</span> &lt;&lt; (*eventIt).getEventDescription() &lt;&lt; <span class="stringliteral">&quot;) \n&quot;</span>;</div>
302
+ <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; }</div>
303
+ <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
304
+ <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160;}</div>
305
305
  </div><!-- fragment -->
306
306
  </div>
307
307
  </div>
@@ -316,7 +316,7 @@ Additional Inherited Members</h2></td></tr>
316
316
  <div class="ttc" id="aclassSVF_1_1GenericBug_html_a3f62d1f1307b9e6771d7449d0855d7e4"><div class="ttname"><a href="classSVF_1_1GenericBug.html#a3f62d1f1307b9e6771d7449d0855d7e4">SVF::GenericBug::GenericBug</a></div><div class="ttdeci">GenericBug(BugType bugType, const EventStack &amp;bugEventStack)</div><div class="ttdoc">note: should be initialized with a bugEventStack</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8h_source.html#l00095">SVFBugReport.h:95</a></div></div>
317
317
  <div class="ttc" id="aclassSVF_1_1GenericBug_html_a7aeeb33097bca5f7fe6747f90f5cecaca1f91a40ca53eb077cc947fae828554b4"><div class="ttname"><a href="classSVF_1_1GenericBug.html#a7aeeb33097bca5f7fe6747f90f5cecaca1f91a40ca53eb077cc947fae828554b4">SVF::GenericBug::DOUBLEFREE</a></div><div class="ttdeci">@ DOUBLEFREE</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8h_source.html#l00086">SVFBugReport.h:86</a></div></div>
318
318
  <div class="ttc" id="aclassSVF_1_1GenericBug_html_ac0b91adaf9df0d57dc2e179d962ca490"><div class="ttname"><a href="classSVF_1_1GenericBug.html#ac0b91adaf9df0d57dc2e179d962ca490">SVF::GenericBug::bugEventStack</a></div><div class="ttdeci">const EventStack bugEventStack</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8h_source.html#l00091">SVFBugReport.h:91</a></div></div>
319
- <div class="ttc" id="aclassSVF_1_1GenericBug_html_abbc86875488c27e53e5c36e95c472b20"><div class="ttname"><a href="classSVF_1_1GenericBug.html#abbc86875488c27e53e5c36e95c472b20">SVF::GenericBug::getLoc</a></div><div class="ttdeci">const std::string getLoc() const</div><div class="ttdoc">returns bug location as json format string</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8cpp_source.html#l00049">SVFBugReport.cpp:49</a></div></div>
319
+ <div class="ttc" id="aclassSVF_1_1GenericBug_html_abbc86875488c27e53e5c36e95c472b20"><div class="ttname"><a href="classSVF_1_1GenericBug.html#abbc86875488c27e53e5c36e95c472b20">SVF::GenericBug::getLoc</a></div><div class="ttdeci">const std::string getLoc() const</div><div class="ttdoc">returns bug location as json format string</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8cpp_source.html#l00051">SVFBugReport.cpp:51</a></div></div>
320
320
  <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>
321
321
  <!-- start footer part -->
322
322
  <hr class="footer"/><address class="footer"><small>
@@ -239,11 +239,11 @@ Additional Inherited Members</h2></td></tr>
239
239
 
240
240
  <p>Implements <a class="el" href="classSVF_1_1GenericBug.html#aed9feb57ffb0860cbdd13698fd4dbf6c">SVF::GenericBug</a>.</p>
241
241
 
242
- <p class="definition">Definition at line <a class="el" href="SVFBugReport_8cpp_source.html#l00203">203</a> of file <a class="el" href="SVFBugReport_8cpp_source.html">SVFBugReport.cpp</a>.</p>
243
- <div class="fragment"><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160;{</div>
244
- <div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
245
- <div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">return</span> bugDescription;</div>
246
- <div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160;}</div>
242
+ <p class="definition">Definition at line <a class="el" href="SVFBugReport_8cpp_source.html#l00205">205</a> of file <a class="el" href="SVFBugReport_8cpp_source.html">SVFBugReport.cpp</a>.</p>
243
+ <div class="fragment"><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160;{</div>
244
+ <div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
245
+ <div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">return</span> bugDescription;</div>
246
+ <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;}</div>
247
247
  </div><!-- fragment -->
248
248
  </div>
249
249
  </div>
@@ -272,11 +272,11 @@ Additional Inherited Members</h2></td></tr>
272
272
 
273
273
  <p>Implements <a class="el" href="classSVF_1_1GenericBug.html#aabf06cd1094ddbf7ee419c635f29a948">SVF::GenericBug</a>.</p>
274
274
 
275
- <p class="definition">Definition at line <a class="el" href="SVFBugReport_8cpp_source.html#l00209">209</a> of file <a class="el" href="SVFBugReport_8cpp_source.html">SVFBugReport.cpp</a>.</p>
276
- <div class="fragment"><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160;{</div>
277
- <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a10504db25b86bc7f74aebb9c54f04cb3">SVFUtil::bugMsg1</a>(<span class="stringliteral">&quot;\t FileNeverClose :&quot;</span>) &lt;&lt; <span class="stringliteral">&quot; file open location at : (&quot;</span></div>
278
- <div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; &lt;&lt; <a class="code" href="classSVF_1_1GenericBug.html#abbc86875488c27e53e5c36e95c472b20">GenericBug::getLoc</a>() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div>
279
- <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160;}</div>
275
+ <p class="definition">Definition at line <a class="el" href="SVFBugReport_8cpp_source.html#l00211">211</a> of file <a class="el" href="SVFBugReport_8cpp_source.html">SVFBugReport.cpp</a>.</p>
276
+ <div class="fragment"><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160;{</div>
277
+ <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <a class="code" href="namespaceSVF_1_1SVFUtil.html#a10504db25b86bc7f74aebb9c54f04cb3">SVFUtil::bugMsg1</a>(<span class="stringliteral">&quot;\t FileNeverClose :&quot;</span>) &lt;&lt; <span class="stringliteral">&quot; file open location at : (&quot;</span></div>
278
+ <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; &lt;&lt; <a class="code" href="classSVF_1_1GenericBug.html#abbc86875488c27e53e5c36e95c472b20">GenericBug::getLoc</a>() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div>
279
+ <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160;}</div>
280
280
  </div><!-- fragment -->
281
281
  </div>
282
282
  </div>
@@ -291,7 +291,7 @@ Additional Inherited Members</h2></td></tr>
291
291
  <div class="ttc" id="astructcJSON_html"><div class="ttname"><a href="structcJSON.html">cJSON</a></div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00103">cJSON.h:103</a></div></div>
292
292
  <div class="ttc" id="aclassSVF_1_1GenericBug_html_a3f62d1f1307b9e6771d7449d0855d7e4"><div class="ttname"><a href="classSVF_1_1GenericBug.html#a3f62d1f1307b9e6771d7449d0855d7e4">SVF::GenericBug::GenericBug</a></div><div class="ttdeci">GenericBug(BugType bugType, const EventStack &amp;bugEventStack)</div><div class="ttdoc">note: should be initialized with a bugEventStack</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8h_source.html#l00095">SVFBugReport.h:95</a></div></div>
293
293
  <div class="ttc" id="aclassSVF_1_1GenericBug_html_ac0b91adaf9df0d57dc2e179d962ca490"><div class="ttname"><a href="classSVF_1_1GenericBug.html#ac0b91adaf9df0d57dc2e179d962ca490">SVF::GenericBug::bugEventStack</a></div><div class="ttdeci">const EventStack bugEventStack</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8h_source.html#l00091">SVFBugReport.h:91</a></div></div>
294
- <div class="ttc" id="aclassSVF_1_1GenericBug_html_abbc86875488c27e53e5c36e95c472b20"><div class="ttname"><a href="classSVF_1_1GenericBug.html#abbc86875488c27e53e5c36e95c472b20">SVF::GenericBug::getLoc</a></div><div class="ttdeci">const std::string getLoc() const</div><div class="ttdoc">returns bug location as json format string</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8cpp_source.html#l00049">SVFBugReport.cpp:49</a></div></div>
294
+ <div class="ttc" id="aclassSVF_1_1GenericBug_html_abbc86875488c27e53e5c36e95c472b20"><div class="ttname"><a href="classSVF_1_1GenericBug.html#abbc86875488c27e53e5c36e95c472b20">SVF::GenericBug::getLoc</a></div><div class="ttdeci">const std::string getLoc() const</div><div class="ttdoc">returns bug location as json format string</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8cpp_source.html#l00051">SVFBugReport.cpp:51</a></div></div>
295
295
  <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>
296
296
  <!-- start footer part -->
297
297
  <hr class="footer"/><address class="footer"><small>
@@ -239,29 +239,29 @@ Additional Inherited Members</h2></td></tr>
239
239
 
240
240
  <p>Implements <a class="el" href="classSVF_1_1GenericBug.html#aed9feb57ffb0860cbdd13698fd4dbf6c">SVF::GenericBug</a>.</p>
241
241
 
242
- <p class="definition">Definition at line <a class="el" href="SVFBugReport_8cpp_source.html#l00215">215</a> of file <a class="el" href="SVFBugReport_8cpp_source.html">SVFBugReport.cpp</a>.</p>
243
- <div class="fragment"><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160;{</div>
244
- <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
245
- <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; </div>
246
- <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *pathInfo = cJSON_CreateArray();</div>
242
+ <p class="definition">Definition at line <a class="el" href="SVFBugReport_8cpp_source.html#l00217">217</a> of file <a class="el" href="SVFBugReport_8cpp_source.html">SVFBugReport.cpp</a>.</p>
243
+ <div class="fragment"><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160;{</div>
244
+ <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
247
245
  <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; </div>
248
- <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keyword">auto</span> lastBranchEventIt = <a class="code" href="classSVF_1_1GenericBug.html#ac0b91adaf9df0d57dc2e179d962ca490">bugEventStack</a>.end() - 1;</div>
249
- <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> eventIt = <a class="code" href="classSVF_1_1GenericBug.html#ac0b91adaf9df0d57dc2e179d962ca490">bugEventStack</a>.begin(); eventIt != lastBranchEventIt; eventIt++)</div>
250
- <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; {</div>
251
- <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *newBranch = cJSON_CreateObject();</div>
252
- <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *branchLoc = cJSON_Parse((*eventIt).getEventLoc().c_str());</div>
253
- <div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keywordflow">if</span>(branchLoc == <span class="keyword">nullptr</span>) branchLoc = cJSON_CreateObject();</div>
254
- <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *branchCondition = cJSON_CreateString((*eventIt).getEventDescription().c_str());</div>
255
- <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; </div>
256
- <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; cJSON_AddItemToObject(newBranch, <span class="stringliteral">&quot;BranchLoc&quot;</span>, branchLoc);</div>
257
- <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; cJSON_AddItemToObject(newBranch, <span class="stringliteral">&quot;BranchCond&quot;</span>, branchCondition);</div>
258
- <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; </div>
259
- <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; cJSON_AddItemToArray(pathInfo, newBranch);</div>
260
- <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; }</div>
261
- <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; cJSON_AddItemToObject(bugDescription, <span class="stringliteral">&quot;ConditionalFileClosePath&quot;</span>, pathInfo);</div>
262
- <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; </div>
263
- <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <span class="keywordflow">return</span> bugDescription;</div>
264
- <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160;}</div>
246
+ <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *pathInfo = cJSON_CreateArray();</div>
247
+ <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; </div>
248
+ <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keyword">auto</span> lastBranchEventIt = <a class="code" href="classSVF_1_1GenericBug.html#ac0b91adaf9df0d57dc2e179d962ca490">bugEventStack</a>.end() - 1;</div>
249
+ <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> eventIt = <a class="code" href="classSVF_1_1GenericBug.html#ac0b91adaf9df0d57dc2e179d962ca490">bugEventStack</a>.begin(); eventIt != lastBranchEventIt; eventIt++)</div>
250
+ <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; {</div>
251
+ <div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *newBranch = cJSON_CreateObject();</div>
252
+ <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *branchLoc = cJSON_Parse((*eventIt).getEventLoc().c_str());</div>
253
+ <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keywordflow">if</span>(branchLoc == <span class="keyword">nullptr</span>) branchLoc = cJSON_CreateObject();</div>
254
+ <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <a class="code" href="structcJSON.html">cJSON</a> *branchCondition = cJSON_CreateString((*eventIt).getEventDescription().c_str());</div>
255
+ <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; </div>
256
+ <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; cJSON_AddItemToObject(newBranch, <span class="stringliteral">&quot;BranchLoc&quot;</span>, branchLoc);</div>
257
+ <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; cJSON_AddItemToObject(newBranch, <span class="stringliteral">&quot;BranchCond&quot;</span>, branchCondition);</div>
258
+ <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; </div>
259
+ <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; cJSON_AddItemToArray(pathInfo, newBranch);</div>
260
+ <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; }</div>
261
+ <div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; cJSON_AddItemToObject(bugDescription, <span class="stringliteral">&quot;ConditionalFileClosePath&quot;</span>, pathInfo);</div>
262
+ <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; </div>
263
+ <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <span class="keywordflow">return</span> bugDescription;</div>
264
+ <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160;}</div>
265
265
  </div><!-- fragment -->
266
266
  </div>
267
267
  </div>
@@ -290,19 +290,19 @@ Additional Inherited Members</h2></td></tr>
290
290
 
291
291
  <p>Implements <a class="el" href="classSVF_1_1GenericBug.html#aabf06cd1094ddbf7ee419c635f29a948">SVF::GenericBug</a>.</p>
292
292
 
293
- <p class="definition">Definition at line <a class="el" href="SVFBugReport_8cpp_source.html#l00239">239</a> of file <a class="el" href="SVFBugReport_8cpp_source.html">SVFBugReport.cpp</a>.</p>
294
- <div class="fragment"><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160;{</div>
295
- <div class="line"><a name="l00241"></a><span class="lineno"> 241</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 PartialFileClose :&quot;</span>) &lt;&lt; <span class="stringliteral">&quot; file open location at : (&quot;</span></div>
296
- <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; &lt;&lt; <a class="code" href="classSVF_1_1GenericBug.html#abbc86875488c27e53e5c36e95c472b20">GenericBug::getLoc</a>() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div>
297
- <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; </div>
298
- <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t conditional file close path: \n&quot;</span>;</div>
299
- <div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keyword">auto</span> lastBranchEventIt = <a class="code" href="classSVF_1_1GenericBug.html#ac0b91adaf9df0d57dc2e179d962ca490">bugEventStack</a>.end() - 1;</div>
300
- <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> eventIt = <a class="code" href="classSVF_1_1GenericBug.html#ac0b91adaf9df0d57dc2e179d962ca490">bugEventStack</a>.begin(); eventIt != lastBranchEventIt; eventIt++)</div>
301
- <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; {</div>
302
- <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t --&gt; (&quot;</span> &lt;&lt; (*eventIt).getEventLoc() &lt;&lt; <span class="stringliteral">&quot;|&quot;</span> &lt;&lt; (*eventIt).getEventDescription() &lt;&lt; <span class="stringliteral">&quot;) \n&quot;</span>;</div>
303
- <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; }</div>
304
- <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>
305
- <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160;}</div>
293
+ <p class="definition">Definition at line <a class="el" href="SVFBugReport_8cpp_source.html#l00241">241</a> of file <a class="el" href="SVFBugReport_8cpp_source.html">SVFBugReport.cpp</a>.</p>
294
+ <div class="fragment"><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160;{</div>
295
+ <div class="line"><a name="l00243"></a><span class="lineno"> 243</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 PartialFileClose :&quot;</span>) &lt;&lt; <span class="stringliteral">&quot; file open location at : (&quot;</span></div>
296
+ <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; &lt;&lt; <a class="code" href="classSVF_1_1GenericBug.html#abbc86875488c27e53e5c36e95c472b20">GenericBug::getLoc</a>() &lt;&lt; <span class="stringliteral">&quot;)\n&quot;</span>;</div>
297
+ <div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; </div>
298
+ <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\t\t conditional file close path: \n&quot;</span>;</div>
299
+ <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="keyword">auto</span> lastBranchEventIt = <a class="code" href="classSVF_1_1GenericBug.html#ac0b91adaf9df0d57dc2e179d962ca490">bugEventStack</a>.end() - 1;</div>
300
+ <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">auto</span> eventIt = <a class="code" href="classSVF_1_1GenericBug.html#ac0b91adaf9df0d57dc2e179d962ca490">bugEventStack</a>.begin(); eventIt != lastBranchEventIt; eventIt++)</div>
301
+ <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; {</div>
302
+ <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;\t\t --&gt; (&quot;</span> &lt;&lt; (*eventIt).getEventLoc() &lt;&lt; <span class="stringliteral">&quot;|&quot;</span> &lt;&lt; (*eventIt).getEventDescription() &lt;&lt; <span class="stringliteral">&quot;) \n&quot;</span>;</div>
303
+ <div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; }</div>
304
+ <div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
305
+ <div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160;}</div>
306
306
  </div><!-- fragment -->
307
307
  </div>
308
308
  </div>
@@ -317,7 +317,7 @@ Additional Inherited Members</h2></td></tr>
317
317
  <div class="ttc" id="astructcJSON_html"><div class="ttname"><a href="structcJSON.html">cJSON</a></div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00103">cJSON.h:103</a></div></div>
318
318
  <div class="ttc" id="aclassSVF_1_1GenericBug_html_a3f62d1f1307b9e6771d7449d0855d7e4"><div class="ttname"><a href="classSVF_1_1GenericBug.html#a3f62d1f1307b9e6771d7449d0855d7e4">SVF::GenericBug::GenericBug</a></div><div class="ttdeci">GenericBug(BugType bugType, const EventStack &amp;bugEventStack)</div><div class="ttdoc">note: should be initialized with a bugEventStack</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8h_source.html#l00095">SVFBugReport.h:95</a></div></div>
319
319
  <div class="ttc" id="aclassSVF_1_1GenericBug_html_ac0b91adaf9df0d57dc2e179d962ca490"><div class="ttname"><a href="classSVF_1_1GenericBug.html#ac0b91adaf9df0d57dc2e179d962ca490">SVF::GenericBug::bugEventStack</a></div><div class="ttdeci">const EventStack bugEventStack</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8h_source.html#l00091">SVFBugReport.h:91</a></div></div>
320
- <div class="ttc" id="aclassSVF_1_1GenericBug_html_abbc86875488c27e53e5c36e95c472b20"><div class="ttname"><a href="classSVF_1_1GenericBug.html#abbc86875488c27e53e5c36e95c472b20">SVF::GenericBug::getLoc</a></div><div class="ttdeci">const std::string getLoc() const</div><div class="ttdoc">returns bug location as json format string</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8cpp_source.html#l00049">SVFBugReport.cpp:49</a></div></div>
320
+ <div class="ttc" id="aclassSVF_1_1GenericBug_html_abbc86875488c27e53e5c36e95c472b20"><div class="ttname"><a href="classSVF_1_1GenericBug.html#abbc86875488c27e53e5c36e95c472b20">SVF::GenericBug::getLoc</a></div><div class="ttdeci">const std::string getLoc() const</div><div class="ttdoc">returns bug location as json format string</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8cpp_source.html#l00051">SVFBugReport.cpp:51</a></div></div>
321
321
  <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>
322
322
  <!-- start footer part -->
323
323
  <hr class="footer"/><address class="footer"><small>