svf-tools 1.0.409 → 1.0.410

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.
@@ -102,7 +102,7 @@ $(function() {
102
102
  <div class="ttc" id="classSVF_1_1ExtAPI_html_a9ac1ce8f2796d1e70005c6999c9772de"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#a9ac1ce8f2796d1e70005c6999c9772de">SVF::ExtAPI::is_alloc</a></div><div class="ttdeci">bool is_alloc(const SVFFunction *F) const</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8h_source.html#l00163">ExtAPI.h:163</a></div></div>
103
103
  <div class="ttc" id="classSVF_1_1ExtAPI_html_ae439994d7a92c4cb3bf5c9fa80fa31e8"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#ae439994d7a92c4cb3bf5c9fa80fa31e8">SVF::ExtAPI::has_static</a></div><div class="ttdeci">bool has_static(const SVFFunction *F) const</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8h_source.html#l00152">ExtAPI.h:152</a></div></div>
104
104
  <div class="ttc" id="classSVF_1_1ExtAPI_html_aaf94c82d98f8ed1514ee49c9881a4094a1f23e7b8cdd103943f515e807bf36b1c"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094a1f23e7b8cdd103943f515e807bf36b1c">SVF::ExtAPI::EFT_REALLOC</a></div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8h_source.html#l00054">ExtAPI.h:54</a></div></div>
105
- <div class="ttc" id="classSVF_1_1ExtAPI_html_ac8af2b917fcc71c0a1a66b8cb0cc55ba"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#ac8af2b917fcc71c0a1a66b8cb0cc55ba">SVF::ExtAPI::init</a></div><div class="ttdeci">void init()</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00863">ExtAPI.cpp:863</a></div></div>
105
+ <div class="ttc" id="classSVF_1_1ExtAPI_html_ac8af2b917fcc71c0a1a66b8cb0cc55ba"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#ac8af2b917fcc71c0a1a66b8cb0cc55ba">SVF::ExtAPI::init</a></div><div class="ttdeci">void init()</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00864">ExtAPI.cpp:864</a></div></div>
106
106
  <div class="ttc" id="classSVF_1_1ExtAPI_html_aaf94c82d98f8ed1514ee49c9881a4094a9b98279d1926e4ebfb237a43536c7b73"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094a9b98279d1926e4ebfb237a43536c7b73">SVF::ExtAPI::EFT_FREE</a></div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8h_source.html#l00055">ExtAPI.h:55</a></div></div>
107
107
  <div class="ttc" id="classSVF_1_1ExtAPI_html_aaf94c82d98f8ed1514ee49c9881a4094ae8423cc29f4de0225e30de6982e6a3a4"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094ae8423cc29f4de0225e30de6982e6a3a4">SVF::ExtAPI::EFT_L_A0__A2R_A0</a></div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8h_source.html#l00075">ExtAPI.h:75</a></div></div>
108
108
  <div class="ttc" id="classSVF_1_1ExtAPI_html_aaf94c82d98f8ed1514ee49c9881a4094a4353ad2b443e7f7ce2151869eed9c097"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094a4353ad2b443e7f7ce2151869eed9c097">SVF::ExtAPI::EFT_A1R_NEW</a></div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8h_source.html#l00078">ExtAPI.h:78</a></div></div>
@@ -300,7 +300,7 @@ Static Private Attributes</h2></td></tr>
300
300
 
301
301
  <p class="definition">Definition at line <a class="el" href="ExtAPI_8h_source.html#l00103">103</a> of file <a class="el" href="ExtAPI_8h_source.html">ExtAPI.h</a>.</p>
302
302
  <div class="fragment"><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; <a class="code" href="classSVF_1_1ExtAPI.html#ac8af2b917fcc71c0a1a66b8cb0cc55ba">init</a>();</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="classSVF_1_1ExtAPI.html#a329882c608e9a6b10a758bcd1ca7a0b5">isext_cache</a>.clear();</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; }</div><div class="ttc" id="classSVF_1_1ExtAPI_html_a329882c608e9a6b10a758bcd1ca7a0b5"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#a329882c608e9a6b10a758bcd1ca7a0b5">SVF::ExtAPI::isext_cache</a></div><div class="ttdeci">Map&lt; const SVFFunction *, bool &gt; isext_cache</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8h_source.html#l00099">ExtAPI.h:99</a></div></div>
303
- <div class="ttc" id="classSVF_1_1ExtAPI_html_ac8af2b917fcc71c0a1a66b8cb0cc55ba"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#ac8af2b917fcc71c0a1a66b8cb0cc55ba">SVF::ExtAPI::init</a></div><div class="ttdeci">void init()</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00863">ExtAPI.cpp:863</a></div></div>
303
+ <div class="ttc" id="classSVF_1_1ExtAPI_html_ac8af2b917fcc71c0a1a66b8cb0cc55ba"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#ac8af2b917fcc71c0a1a66b8cb0cc55ba">SVF::ExtAPI::init</a></div><div class="ttdeci">void init()</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00864">ExtAPI.cpp:864</a></div></div>
304
304
  </div><!-- fragment -->
305
305
  </div>
306
306
  </div>
@@ -516,8 +516,8 @@ Static Private Attributes</h2></td></tr>
516
516
  </table>
517
517
  </div><div class="memdoc">
518
518
 
519
- <p class="definition">Definition at line <a class="el" href="ExtAPI_8cpp_source.html#l00863">863</a> of file <a class="el" href="ExtAPI_8cpp_source.html">ExtAPI.cpp</a>.</p>
520
- <div class="fragment"><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>&#160;{</div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160; set&lt;extf_t&gt; t_seen;</div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; <a class="code" href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094">extf_t</a> prev_t= <a class="code" href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094a87c4ba17ac3567a0673d6516995e06ef">EFT_NOOP</a>;</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160; t_seen.insert(<a class="code" href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094a87c4ba17ac3567a0673d6516995e06ef">EFT_NOOP</a>);</div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">const</span> ei_pair *p= <a class="code" href="ExtAPI_8cpp.html#aa5c38361a7f02befa83ea45388056ea1">ei_pairs</a>; p-&gt;n; ++p)</div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160; {</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160; <span class="keywordflow">if</span>(p-&gt;t != prev_t)</div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; {</div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; <span class="comment">//This will detect if you move an entry to another block</span></div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; <span class="comment">// but forget to change the type.</span></div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; <span class="keywordflow">if</span>(t_seen.count(p-&gt;t))</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; {</div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; fputs(p-&gt;n, stderr);</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; putc(<span class="charliteral">&#39;\n&#39;</span>, stderr);</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(!<span class="stringliteral">&quot;ei_pairs not grouped by type&quot;</span>);</div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; }</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; t_seen.insert(p-&gt;t);</div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; prev_t= p-&gt;t;</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; }</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ExtAPI.html#a21b103f723d914a95fd0eef28551a3ca">info</a>.count(p-&gt;n))</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; {</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; fputs(p-&gt;n, stderr);</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; putc(<span class="charliteral">&#39;\n&#39;</span>, stderr);</div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(!<span class="stringliteral">&quot;duplicate name in ei_pairs&quot;</span>);</div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; }</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160; <a class="code" href="classSVF_1_1ExtAPI.html#a21b103f723d914a95fd0eef28551a3ca">info</a>[p-&gt;n]= p-&gt;t;</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; }</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160;}</div><div class="ttc" id="ExtAPI_8cpp_html_aa5c38361a7f02befa83ea45388056ea1"><div class="ttname"><a href="ExtAPI_8cpp.html#aa5c38361a7f02befa83ea45388056ea1">ei_pairs</a></div><div class="ttdeci">static const ei_pair ei_pairs[]</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00030">ExtAPI.cpp:30</a></div></div>
519
+ <p class="definition">Definition at line <a class="el" href="ExtAPI_8cpp_source.html#l00864">864</a> of file <a class="el" href="ExtAPI_8cpp_source.html">ExtAPI.cpp</a>.</p>
520
+ <div class="fragment"><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>&#160;{</div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>&#160; set&lt;extf_t&gt; t_seen;</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>&#160; <a class="code" href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094">extf_t</a> prev_t= <a class="code" href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094a87c4ba17ac3567a0673d6516995e06ef">EFT_NOOP</a>;</div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>&#160; t_seen.insert(<a class="code" href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094a87c4ba17ac3567a0673d6516995e06ef">EFT_NOOP</a>);</div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>&#160; <span class="keywordflow">for</span>(<span class="keyword">const</span> ei_pair *p= <a class="code" href="ExtAPI_8cpp.html#aa5c38361a7f02befa83ea45388056ea1">ei_pairs</a>; p-&gt;n; ++p)</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>&#160; {</div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>&#160; <span class="keywordflow">if</span>(p-&gt;t != prev_t)</div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>&#160; {</div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span>&#160; <span class="comment">//This will detect if you move an entry to another block</span></div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>&#160; <span class="comment">// but forget to change the type.</span></div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>&#160; <span class="keywordflow">if</span>(t_seen.count(p-&gt;t))</div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>&#160; {</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>&#160; fputs(p-&gt;n, stderr);</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>&#160; putc(<span class="charliteral">&#39;\n&#39;</span>, stderr);</div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(!<span class="stringliteral">&quot;ei_pairs not grouped by type&quot;</span>);</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>&#160; }</div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>&#160; t_seen.insert(p-&gt;t);</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>&#160; prev_t= p-&gt;t;</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>&#160; }</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>&#160; <span class="keywordflow">if</span>(<a class="code" href="classSVF_1_1ExtAPI.html#a21b103f723d914a95fd0eef28551a3ca">info</a>.count(p-&gt;n))</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>&#160; {</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>&#160; fputs(p-&gt;n, stderr);</div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>&#160; putc(<span class="charliteral">&#39;\n&#39;</span>, stderr);</div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>&#160; <a class="code" href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a>(!<span class="stringliteral">&quot;duplicate name in ei_pairs&quot;</span>);</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>&#160; }</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>&#160; <a class="code" href="classSVF_1_1ExtAPI.html#a21b103f723d914a95fd0eef28551a3ca">info</a>[p-&gt;n]= p-&gt;t;</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>&#160; }</div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>&#160;}</div><div class="ttc" id="ExtAPI_8cpp_html_aa5c38361a7f02befa83ea45388056ea1"><div class="ttname"><a href="ExtAPI_8cpp.html#aa5c38361a7f02befa83ea45388056ea1">ei_pairs</a></div><div class="ttdeci">static const ei_pair ei_pairs[]</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8cpp_source.html#l00030">ExtAPI.cpp:30</a></div></div>
521
521
  <div class="ttc" id="util_8h_html_a07d17d6d5d1074c0969bc5d3c3d1d84a"><div class="ttname"><a href="util_8h.html#a07d17d6d5d1074c0969bc5d3c3d1d84a">assert</a></div><div class="ttdeci">#define assert(ex)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00141">util.h:141</a></div></div>
522
522
  <div class="ttc" id="classSVF_1_1ExtAPI_html_aaf94c82d98f8ed1514ee49c9881a4094a87c4ba17ac3567a0673d6516995e06ef"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094a87c4ba17ac3567a0673d6516995e06ef">SVF::ExtAPI::EFT_NOOP</a></div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8h_source.html#l00052">ExtAPI.h:52</a></div></div>
523
523
  <div class="ttc" id="classSVF_1_1ExtAPI_html_aaf94c82d98f8ed1514ee49c9881a4094"><div class="ttname"><a href="classSVF_1_1ExtAPI.html#aaf94c82d98f8ed1514ee49c9881a4094">SVF::ExtAPI::extf_t</a></div><div class="ttdeci">extf_t</div><div class="ttdef"><b>Definition:</b> <a href="ExtAPI_8h_source.html#l00050">ExtAPI.h:50</a></div></div>
@@ -502,6 +502,7 @@ static const ei_pair ei_pairs[]=
502
502
  {"cairo_pattern_create_for_surface", ExtAPI::EFT_ALLOC},
503
503
  {"cairo_surface_create_similar", ExtAPI::EFT_ALLOC},
504
504
  {"calloc", ExtAPI::EFT_ALLOC},
505
+ {"zmalloc", ExtAPI::EFT_ALLOC},
505
506
  {"fopen", ExtAPI::EFT_ALLOC},
506
507
  {"fopen64", ExtAPI::EFT_ALLOC},
507
508
  {"fopencookie", ExtAPI::EFT_ALLOC},
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svf-tools",
3
- "version": "1.0.409",
3
+ "version": "1.0.410",
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": {