svf-tools 1.0.591 → 1.0.593

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.
@@ -712,7 +712,7 @@ template&lt;class Cond&gt; </div>
712
712
  </div><div class="memdoc">
713
713
 
714
714
  <p class="definition">Definition at line <a class="el" href="ConditionalPT_8h_source.html#l00722">722</a> of file <a class="el" href="ConditionalPT_8h_source.html">ConditionalPT.h</a>.</p>
715
- <div class="fragment"><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; {</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; <a class="code" href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">CondPtsConstIter</a> it = <a class="code" href="classSVF_1_1CondPointsToSet.html#acc5c77fbd1a6133d5e80c3f587d49fb3">cptsBegin</a>();</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; <a class="code" href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">CondPtsConstIter</a> eit = <a class="code" href="classSVF_1_1CondPointsToSet.html#a20026db57cfef6bf6a978140b2372cea">cptsEnd</a>();</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; <span class="keywordflow">for</span> (; it != eit; it++)</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; {</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; <span class="keyword">const</span> PointsTo&amp; pts = it-&gt;second;</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; str += <span class="stringliteral">&quot;pts{&quot;</span>;</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1PointsTo.html#ab0493cc85f97abeea5b86dee488e5a7f">PointsTo::iterator</a> ii = pts.begin(), ie = pts.end();</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; ii != ie; ii++)</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; {</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; <span class="keywordtype">char</span> int2str[16];</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; sprintf(int2str, <span class="stringliteral">&quot;%d&quot;</span>, *ii);</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; str += int2str;</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; str += <span class="stringliteral">&quot; &quot;</span>;</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; }</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; str += <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; }</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; <span class="keywordflow">return</span> str;</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_aa9d3a8c42b6df3fa9c2e7bcd7af75e16"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">SVF::CondPointsToSet::CondPtsConstIter</a></div><div class="ttdeci">CondPts::const_iterator CondPtsConstIter</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00308">ConditionalPT.h:308</a></div></div>
715
+ <div class="fragment"><div class="line"><a name="l00723"></a><span class="lineno"> 723</span>&#160; {</div><div class="line"><a name="l00724"></a><span class="lineno"> 724</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>&#160; <a class="code" href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">CondPtsConstIter</a> it = <a class="code" href="classSVF_1_1CondPointsToSet.html#acc5c77fbd1a6133d5e80c3f587d49fb3">cptsBegin</a>();</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>&#160; <a class="code" href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">CondPtsConstIter</a> eit = <a class="code" href="classSVF_1_1CondPointsToSet.html#a20026db57cfef6bf6a978140b2372cea">cptsEnd</a>();</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>&#160; <span class="keywordflow">for</span> (; it != eit; it++)</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>&#160; {</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span>&#160; <span class="keyword">const</span> PointsTo&amp; pts = it-&gt;second;</div><div class="line"><a name="l00730"></a><span class="lineno"> 730</span>&#160; str += <span class="stringliteral">&quot;pts{&quot;</span>;</div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1PointsTo.html#ab0493cc85f97abeea5b86dee488e5a7f">PointsTo::iterator</a> ii = pts.begin(), ie = pts.end();</div><div class="line"><a name="l00732"></a><span class="lineno"> 732</span>&#160; ii != ie; ii++)</div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span>&#160; {</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>&#160; <span class="keywordtype">char</span> int2str[16];</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>&#160; snprintf(int2str, <span class="keyword">sizeof</span>(int2str), <span class="stringliteral">&quot;%d&quot;</span>, *ii);</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span>&#160; str += int2str;</div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span>&#160; str += <span class="stringliteral">&quot; &quot;</span>;</div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span>&#160; }</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>&#160; str += <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span>&#160; }</div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span>&#160; <span class="keywordflow">return</span> str;</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>&#160; }</div><div class="ttc" id="classSVF_1_1CondPointsToSet_html_aa9d3a8c42b6df3fa9c2e7bcd7af75e16"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#aa9d3a8c42b6df3fa9c2e7bcd7af75e16">SVF::CondPointsToSet::CondPtsConstIter</a></div><div class="ttdeci">CondPts::const_iterator CondPtsConstIter</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00308">ConditionalPT.h:308</a></div></div>
716
716
  <div class="ttc" id="classSVF_1_1PointsTo_html_ab0493cc85f97abeea5b86dee488e5a7f"><div class="ttname"><a href="classSVF_1_1PointsTo.html#ab0493cc85f97abeea5b86dee488e5a7f">SVF::PointsTo::iterator</a></div><div class="ttdeci">const_iterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="PointsTo_8h_source.html#l00040">PointsTo.h:40</a></div></div>
717
717
  <div class="ttc" id="classSVF_1_1CondPointsToSet_html_acc5c77fbd1a6133d5e80c3f587d49fb3"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#acc5c77fbd1a6133d5e80c3f587d49fb3">SVF::CondPointsToSet::cptsBegin</a></div><div class="ttdeci">CondPtsIter cptsBegin()</div><div class="ttdoc">iterators </div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00357">ConditionalPT.h:357</a></div></div>
718
718
  <div class="ttc" id="classSVF_1_1CondPointsToSet_html_a20026db57cfef6bf6a978140b2372cea"><div class="ttname"><a href="classSVF_1_1CondPointsToSet.html#a20026db57cfef6bf6a978140b2372cea">SVF::CondPointsToSet::cptsEnd</a></div><div class="ttdeci">CondPtsIter cptsEnd()</div><div class="ttdef"><b>Definition:</b> <a href="ConditionalPT_8h_source.html#l00361">ConditionalPT.h:361</a></div></div>
@@ -255,7 +255,7 @@ Static Private Attributes</h2></td></tr>
255
255
  <p>Dump string. </p>
256
256
 
257
257
  <p class="definition">Definition at line <a class="el" href="MemRegion_8h_source.html#l00093">93</a> of file <a class="el" href="MemRegion_8h_source.html">MemRegion.h</a>.</p>
258
- <div class="fragment"><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; {</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; str += <span class="stringliteral">&quot;pts{&quot;</span>;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#a0421e3336137b232edc442ece00a8a9c">NodeBS::iterator</a> ii = <a class="code" href="classSVF_1_1MemRegion.html#a77a18bcce56cf48d1c338e852a2be9bc">cptsSet</a>.<a class="code" href="classSVF_1_1SparseBitVector.html#abf76d8157c49ddba24bdc9dab3655772">begin</a>(), ie = <a class="code" href="classSVF_1_1MemRegion.html#a77a18bcce56cf48d1c338e852a2be9bc">cptsSet</a>.<a class="code" href="classSVF_1_1SparseBitVector.html#a1b5abe09fd0fcd337385653cb47343c1">end</a>();</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; ii != ie; ii++)</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; {</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordtype">char</span> int2str[16];</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; sprintf(int2str, <span class="stringliteral">&quot;%d&quot;</span>, *ii);</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; str += int2str;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; str += <span class="stringliteral">&quot; &quot;</span>;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; }</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; str += <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">return</span> str;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_a0421e3336137b232edc442ece00a8a9c"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a0421e3336137b232edc442ece00a8a9c">SVF::SparseBitVector::iterator</a></div><div class="ttdeci">SparseBitVectorIterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00675">SparseBitVector.h:675</a></div></div>
258
+ <div class="fragment"><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; {</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> str;</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; str += <span class="stringliteral">&quot;pts{&quot;</span>;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">for</span> (<a class="code" href="classSVF_1_1SparseBitVector.html#a0421e3336137b232edc442ece00a8a9c">NodeBS::iterator</a> ii = <a class="code" href="classSVF_1_1MemRegion.html#a77a18bcce56cf48d1c338e852a2be9bc">cptsSet</a>.<a class="code" href="classSVF_1_1SparseBitVector.html#abf76d8157c49ddba24bdc9dab3655772">begin</a>(), ie = <a class="code" href="classSVF_1_1MemRegion.html#a77a18bcce56cf48d1c338e852a2be9bc">cptsSet</a>.<a class="code" href="classSVF_1_1SparseBitVector.html#a1b5abe09fd0fcd337385653cb47343c1">end</a>();</div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; ii != ie; ii++)</div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; {</div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordtype">char</span> int2str[16];</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; snprintf(int2str, <span class="keyword">sizeof</span>(int2str), <span class="stringliteral">&quot;%d&quot;</span>, *ii);</div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; str += int2str;</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; str += <span class="stringliteral">&quot; &quot;</span>;</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; }</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; str += <span class="stringliteral">&quot;}&quot;</span>;</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">return</span> str;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; }</div><div class="ttc" id="classSVF_1_1SparseBitVector_html_a0421e3336137b232edc442ece00a8a9c"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a0421e3336137b232edc442ece00a8a9c">SVF::SparseBitVector::iterator</a></div><div class="ttdeci">SparseBitVectorIterator iterator</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l00675">SparseBitVector.h:675</a></div></div>
259
259
  <div class="ttc" id="classSVF_1_1MemRegion_html_a77a18bcce56cf48d1c338e852a2be9bc"><div class="ttname"><a href="classSVF_1_1MemRegion.html#a77a18bcce56cf48d1c338e852a2be9bc">SVF::MemRegion::cptsSet</a></div><div class="ttdeci">const NodeBS cptsSet</div><div class="ttdef"><b>Definition:</b> <a href="MemRegion_8h_source.html#l00064">MemRegion.h:64</a></div></div>
260
260
  <div class="ttc" id="classSVF_1_1SparseBitVector_html_a1b5abe09fd0fcd337385653cb47343c1"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#a1b5abe09fd0fcd337385653cb47343c1">SVF::SparseBitVector::end</a></div><div class="ttdeci">iterator end() const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01120">SparseBitVector.h:1120</a></div></div>
261
261
  <div class="ttc" id="classSVF_1_1SparseBitVector_html_abf76d8157c49ddba24bdc9dab3655772"><div class="ttname"><a href="classSVF_1_1SparseBitVector.html#abf76d8157c49ddba24bdc9dab3655772">SVF::SparseBitVector::begin</a></div><div class="ttdeci">iterator begin() const</div><div class="ttdef"><b>Definition:</b> <a href="SparseBitVector_8h_source.html#l01115">SparseBitVector.h:1115</a></div></div>
@@ -98,7 +98,7 @@ public:
98
98
  ii != ie; ii++)
99
99
  {
100
100
  char int2str[16];
101
- sprintf(int2str, "%d", *ii);
101
+ snprintf(int2str, sizeof(int2str), "%d", *ii);
102
102
  str += int2str;
103
103
  str += " ";
104
104
  }
@@ -732,7 +732,7 @@ public:
732
732
  ii != ie; ii++)
733
733
  {
734
734
  char int2str[16];
735
- sprintf(int2str, "%d", *ii);
735
+ snprintf(int2str, sizeof(int2str), "%d", *ii);
736
736
  str += int2str;
737
737
  str += " ";
738
738
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svf-tools",
3
- "version": "1.0.591",
3
+ "version": "1.0.593",
4
4
  "description": "* <b>[TypeClone](https://github.com/SVF-tools/SVF/wiki/TypeClone) published in our [ECOOP paper](https://yuleisui.github.io/publications/ecoop20.pdf) is now available in SVF </b> * <b>SVF now uses a single script for its build. Just type [`source ./build.sh`](https://github.com/SVF-tools/SVF/blob/master/build.sh) in your terminal, that's it!</b> * <b>SVF now supports LLVM-10.0.0! </b> * <b>We thank [bsauce](https://github.com/bsauce) for writing a user manual of SVF ([link1](https://www.jianshu.com/p/068a08ec749c) and [link2](https://www.jianshu.com/p/777c30d4240e)) in Chinese </b> * <b>SVF now supports LLVM-9.0.0 (Thank [Byoungyoung Lee](https://github.com/SVF-tools/SVF/issues/142) for his help!). </b> * <b>SVF now supports a set of [field-sensitive pointer analyses](https://yuleisui.github.io/publications/sas2019a.pdf). </b> * <b>[Use SVF as an external lib](https://github.com/SVF-tools/SVF/wiki/Using-SVF-as-a-lib-in-your-own-tool) for your own project (Contributed by [Hongxu Chen](https://github.com/HongxuChen)). </b> * <b>SVF now supports LLVM-7.0.0. </b> * <b>SVF now supports Docker. [Try SVF in Docker](https://github.com/SVF-tools/SVF/wiki/Try-SVF-in-Docker)! </b> * <b>SVF now supports [LLVM-6.0.0](https://github.com/svf-tools/SVF/pull/38) (Contributed by [Jack Anthony](https://github.com/jackanth)). </b> * <b>SVF now supports [LLVM-4.0.0](https://github.com/svf-tools/SVF/pull/23) (Contributed by Jared Carlson. Thank [Jared](https://github.com/jcarlson23) and [Will](https://github.com/dtzWill) for their in-depth [discussions](https://github.com/svf-tools/SVF/pull/18) about updating SVF!) </b> * <b>SVF now supports analysis for C++ programs.</b> <br />",
5
5
  "main": "index.js",
6
6
  "scripts": {