svf-tools 1.0.401 → 1.0.404

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 (172) hide show
  1. package/SVF-doxygen/html/html/AndersenSFR_8cpp_source.html +2 -2
  2. package/SVF-doxygen/html/html/AndersenSFR_8h_source.html +2 -2
  3. package/SVF-doxygen/html/html/CHG_8h_source.html +2 -2
  4. package/SVF-doxygen/html/html/CPPUtil_8cpp.html +3 -3
  5. package/SVF-doxygen/html/html/CPPUtil_8cpp_source.html +3 -2
  6. package/SVF-doxygen/html/html/CSC_8cpp_source.html +2 -2
  7. package/SVF-doxygen/html/html/CSC_8h_source.html +2 -2
  8. package/SVF-doxygen/html/html/Conditions_8cpp_source.html +2 -2
  9. package/SVF-doxygen/html/html/ConsGEdge_8h_source.html +2 -2
  10. package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +1 -1
  11. package/SVF-doxygen/html/html/ExtAPI_8h_source.html +1 -1
  12. package/SVF-doxygen/html/html/GenericGraph_8h_source.html +2 -2
  13. package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +2 -2
  14. package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +2 -2
  15. package/SVF-doxygen/html/html/ICFG_8cpp_source.html +2 -2
  16. package/SVF-doxygen/html/html/ICFG_8h_source.html +2 -2
  17. package/SVF-doxygen/html/html/IRAnnotator_8h_source.html +2 -2
  18. package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +2 -2
  19. package/SVF-doxygen/html/html/LocationSet_8cpp_source.html +2 -2
  20. package/SVF-doxygen/html/html/LocationSet_8h_source.html +2 -2
  21. package/SVF-doxygen/html/html/MHP_8cpp.html +2 -2
  22. package/SVF-doxygen/html/html/MHP_8cpp_source.html +2 -2
  23. package/SVF-doxygen/html/html/PAGBuilderFromFile_8cpp_source.html +2 -2
  24. package/SVF-doxygen/html/html/PAGBuilderFromFile_8h_source.html +2 -2
  25. package/SVF-doxygen/html/html/SVFBasicTypes_8h.html +2 -2
  26. package/SVF-doxygen/html/html/SVFBasicTypes_8h_source.html +2 -2
  27. package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +2 -2
  28. package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +7 -7
  29. package/SVF-doxygen/html/html/SVFStatements_8h_source.html +2 -2
  30. package/SVF-doxygen/html/html/SVFVariables_8h_source.html +2 -2
  31. package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +2 -2
  32. package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +2 -2
  33. package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +2 -2
  34. package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +2 -2
  35. package/SVF-doxygen/html/html/TypeBasedHeapCloning_8cpp_source.html +2 -2
  36. package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +1 -1
  37. package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
  38. package/SVF-doxygen/html/html/classSVF_1_1ActualParmVFGNode.html +1 -1
  39. package/SVF-doxygen/html/html/classSVF_1_1ActualRetVFGNode.html +1 -1
  40. package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +1 -1
  41. package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
  42. package/SVF-doxygen/html/html/classSVF_1_1AddrVFGNode.html +1 -1
  43. package/SVF-doxygen/html/html/classSVF_1_1AndersenSFR.html +6 -6
  44. package/SVF-doxygen/html/html/classSVF_1_1ArgumentVFGNode.html +1 -1
  45. package/SVF-doxygen/html/html/classSVF_1_1AssignStmt.html +1 -1
  46. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
  47. package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
  48. package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +5 -5
  49. package/SVF-doxygen/html/html/classSVF_1_1BranchVFGNode.html +1 -1
  50. package/SVF-doxygen/html/html/classSVF_1_1CHEdge.html +1 -1
  51. package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +8 -8
  52. package/SVF-doxygen/html/html/classSVF_1_1CHNode.html +1 -1
  53. package/SVF-doxygen/html/html/classSVF_1_1CSC.html +4 -4
  54. package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +1 -1
  55. package/SVF-doxygen/html/html/classSVF_1_1CallDirSVFGEdge.html +1 -1
  56. package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +1 -1
  57. package/SVF-doxygen/html/html/classSVF_1_1CallIndSVFGEdge.html +1 -1
  58. package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
  59. package/SVF-doxygen/html/html/classSVF_1_1CloneDummyObjVar.html +1 -1
  60. package/SVF-doxygen/html/html/classSVF_1_1CloneFIObjVar.html +1 -1
  61. package/SVF-doxygen/html/html/classSVF_1_1CloneGepObjVar.html +2 -2
  62. package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
  63. package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +1 -1
  64. package/SVF-doxygen/html/html/classSVF_1_1CondManager.html +2 -2
  65. package/SVF-doxygen/html/html/classSVF_1_1ConstraintEdge.html +1 -1
  66. package/SVF-doxygen/html/html/classSVF_1_1ConstraintNode.html +1 -1
  67. package/SVF-doxygen/html/html/classSVF_1_1CopyCGEdge.html +1 -1
  68. package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
  69. package/SVF-doxygen/html/html/classSVF_1_1CopyVFGNode.html +1 -1
  70. package/SVF-doxygen/html/html/classSVF_1_1DCHEdge.html +1 -1
  71. package/SVF-doxygen/html/html/classSVF_1_1DCHNode.html +1 -1
  72. package/SVF-doxygen/html/html/classSVF_1_1DirectSVFGEdge.html +1 -1
  73. package/SVF-doxygen/html/html/classSVF_1_1DummyObjVar.html +1 -1
  74. package/SVF-doxygen/html/html/classSVF_1_1DummyValVar.html +1 -1
  75. package/SVF-doxygen/html/html/classSVF_1_1DummyVersionPropSVFGNode.html +1 -1
  76. package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +3 -3
  77. package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +1 -1
  78. package/SVF-doxygen/html/html/classSVF_1_1FormalINSVFGNode.html +1 -1
  79. package/SVF-doxygen/html/html/classSVF_1_1FormalOUTSVFGNode.html +1 -1
  80. package/SVF-doxygen/html/html/classSVF_1_1FormalParmVFGNode.html +1 -1
  81. package/SVF-doxygen/html/html/classSVF_1_1FormalRetVFGNode.html +1 -1
  82. package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +1 -1
  83. package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +1 -1
  84. package/SVF-doxygen/html/html/classSVF_1_1GenericEdge.html +2 -2
  85. package/SVF-doxygen/html/html/classSVF_1_1GenericNode.html +2 -2
  86. package/SVF-doxygen/html/html/classSVF_1_1GepCGEdge.html +1 -1
  87. package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +3 -3
  88. package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +5 -5
  89. package/SVF-doxygen/html/html/classSVF_1_1GepVFGNode.html +1 -1
  90. package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +3 -3
  91. package/SVF-doxygen/html/html/classSVF_1_1GlobalICFGNode.html +1 -1
  92. package/SVF-doxygen/html/html/classSVF_1_1HareParForEdge.html +1 -1
  93. package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +2 -2
  94. package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +2 -2
  95. package/SVF-doxygen/html/html/classSVF_1_1ICFGEdge.html +1 -1
  96. package/SVF-doxygen/html/html/classSVF_1_1ICFGNode.html +1 -1
  97. package/SVF-doxygen/html/html/classSVF_1_1ICFGPrinter.html +1 -1
  98. package/SVF-doxygen/html/html/classSVF_1_1IRAnnotator.html +2 -2
  99. package/SVF-doxygen/html/html/classSVF_1_1IndirectSVFGEdge.html +1 -1
  100. package/SVF-doxygen/html/html/classSVF_1_1InterICFGNode.html +1 -1
  101. package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
  102. package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
  103. package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +7 -7
  104. package/SVF-doxygen/html/html/classSVF_1_1IntraDirSVFGEdge.html +1 -1
  105. package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +1 -1
  106. package/SVF-doxygen/html/html/classSVF_1_1IntraIndSVFGEdge.html +1 -1
  107. package/SVF-doxygen/html/html/classSVF_1_1IntraMSSAPHISVFGNode.html +1 -1
  108. package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
  109. package/SVF-doxygen/html/html/classSVF_1_1LoadCGEdge.html +1 -1
  110. package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
  111. package/SVF-doxygen/html/html/classSVF_1_1LoadVFGNode.html +1 -1
  112. package/SVF-doxygen/html/html/classSVF_1_1LocationSet.html +12 -12
  113. package/SVF-doxygen/html/html/classSVF_1_1MRSVFGNode.html +1 -1
  114. package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +1 -1
  115. package/SVF-doxygen/html/html/classSVF_1_1MultiOpndStmt.html +1 -1
  116. package/SVF-doxygen/html/html/classSVF_1_1NormalGepCGEdge.html +3 -3
  117. package/SVF-doxygen/html/html/classSVF_1_1NullPtrVFGNode.html +1 -1
  118. package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
  119. package/SVF-doxygen/html/html/classSVF_1_1PAGBuilderFromFile.html +4 -4
  120. package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +1 -1
  121. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +1 -1
  122. package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +1 -1
  123. package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +1 -1
  124. package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +1 -1
  125. package/SVF-doxygen/html/html/classSVF_1_1RetDirSVFGEdge.html +1 -1
  126. package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +1 -1
  127. package/SVF-doxygen/html/html/classSVF_1_1RetIndSVFGEdge.html +1 -1
  128. package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
  129. package/SVF-doxygen/html/html/classSVF_1_1RetPN.html +1 -1
  130. package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +1 -1
  131. package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +1 -1
  132. package/SVF-doxygen/html/html/classSVF_1_1SVFGlobal.html +1 -1
  133. package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +2 -2
  134. package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +45 -45
  135. package/SVF-doxygen/html/html/classSVF_1_1SVFStmt.html +1 -1
  136. package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +2 -2
  137. package/SVF-doxygen/html/html/classSVF_1_1SVFVar.html +1 -1
  138. package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
  139. package/SVF-doxygen/html/html/classSVF_1_1StmtVFGNode.html +1 -1
  140. package/SVF-doxygen/html/html/classSVF_1_1StoreCGEdge.html +1 -1
  141. package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
  142. package/SVF-doxygen/html/html/classSVF_1_1StoreVFGNode.html +1 -1
  143. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +2 -2
  144. package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfo.html +4 -4
  145. package/SVF-doxygen/html/html/classSVF_1_1TCTEdge.html +1 -1
  146. package/SVF-doxygen/html/html/classSVF_1_1TCTNode.html +1 -1
  147. package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
  148. package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
  149. package/SVF-doxygen/html/html/classSVF_1_1ThreadForkEdge.html +1 -1
  150. package/SVF-doxygen/html/html/classSVF_1_1ThreadJoinEdge.html +1 -1
  151. package/SVF-doxygen/html/html/classSVF_1_1ThreadMHPIndSVFGEdge.html +1 -1
  152. package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +2 -2
  153. package/SVF-doxygen/html/html/classSVF_1_1TypeBasedHeapCloning.html +2 -2
  154. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +1 -1
  155. package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
  156. package/SVF-doxygen/html/html/classSVF_1_1VFGEdge.html +1 -1
  157. package/SVF-doxygen/html/html/classSVF_1_1VFGNode.html +1 -1
  158. package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +1 -1
  159. package/SVF-doxygen/html/html/classSVF_1_1VarArgPN.html +1 -1
  160. package/SVF-doxygen/html/html/classSVF_1_1VariantGepCGEdge.html +1 -1
  161. package/SVF-doxygen/html/html/namespaceSVF.html +5 -5
  162. package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +2 -2
  163. package/SVF-doxygen/html/html/namespaceSVF_1_1cppUtil.html +4 -4
  164. package/SVF-doxygen/html/html/namespacemembers_s.html +1 -1
  165. package/SVF-doxygen/html/html/namespacemembers_type_s.html +1 -1
  166. package/SVF-doxygen/html/html/search/all_13.js +1 -1
  167. package/SVF-doxygen/html/html/search/typedefs_11.js +1 -1
  168. package/include/Util/SVFBasicTypes.h +1 -1
  169. package/lib/SVF-FE/CPPUtil.cpp +2 -2
  170. package/lib/SVF-FE/SVFIRBuilder.cpp +12 -1
  171. package/lib/Util/ExtAPI.cpp +13 -0
  172. package/package.json +1 -1
@@ -1124,7 +1124,14 @@ void SVFIRBuilder::handleExtCall(CallSite cs, const SVFFunction *callee)
1124
1124
  }
1125
1125
  break;
1126
1126
  }
1127
- case ExtAPI::EFT_L_A0:
1127
+ case ExtAPI::EFT_L_A0: {
1128
+ NodeID dstNode = getValueNode(inst);
1129
+ Value *src= cs.getArgument(0);
1130
+ NodeID srcNode = getValueNode(src);
1131
+ addCopyEdge(srcNode, dstNode);
1132
+ break;
1133
+ }
1134
+
1128
1135
  case ExtAPI::EFT_L_A1:
1129
1136
  case ExtAPI::EFT_L_A2:
1130
1137
  case ExtAPI::EFT_L_A8:
@@ -1326,6 +1333,8 @@ void SVFIRBuilder::handleExtCall(CallSite cs, const SVFFunction *callee)
1326
1333
  // Note that arg0 is aligned with "offset".
1327
1334
  for (int i = offset + 1; i <= offset + 3; ++i)
1328
1335
  {
1336
+ if(i >= fields.size())
1337
+ break;
1329
1338
  const Type* elementType = SymbolTableInfo::SymbolInfo()->getFlatternedElemType(type, fields[i].accumulateConstantFieldIdx());
1330
1339
  NodeID vnD = getGepValVar(vArg3, fields[i], elementType);
1331
1340
  NodeID vnS = getValueNode(vArg1);
@@ -1351,6 +1360,8 @@ void SVFIRBuilder::handleExtCall(CallSite cs, const SVFFunction *callee)
1351
1360
  // Note that arg0 is aligned with "offset".
1352
1361
  for (int i = offset + 1; i <= offset + 3; ++i)
1353
1362
  {
1363
+ if(i >= fields.size())
1364
+ break;
1354
1365
  const Type* elementType = SymbolTableInfo::SymbolInfo()->getFlatternedElemType(type, fields[i].accumulateConstantFieldIdx());
1355
1366
  NodeID vnS = getGepValVar(vArg, fields[i], elementType);
1356
1367
  if(vnD && vnS)
@@ -709,6 +709,19 @@ static const ei_pair ei_pairs[]=
709
709
  {"strrchr", ExtAPI::EFT_L_A0},
710
710
  {"strstr", ExtAPI::EFT_L_A0},
711
711
  {"tmpnam_r", ExtAPI::EFT_L_A0},
712
+ //cctype
713
+ {"isalnum", ExtAPI::EFT_L_A0},
714
+ {"isalpha", ExtAPI::EFT_L_A0},
715
+ {"isblank", ExtAPI::EFT_L_A0},
716
+ {"iscntrl", ExtAPI::EFT_L_A0},
717
+ {"isdigit", ExtAPI::EFT_L_A0},
718
+ {"isgraph", ExtAPI::EFT_L_A0},
719
+ {"islower", ExtAPI::EFT_L_A0},
720
+ {"isprint", ExtAPI::EFT_L_A0},
721
+ {"ispunct", ExtAPI::EFT_L_A0},
722
+ {"isspace", ExtAPI::EFT_L_A0},
723
+ {"isupper", ExtAPI::EFT_L_A0},
724
+ {"isxdigit", ExtAPI::EFT_L_A0},
712
725
  {"asctime_r", ExtAPI::EFT_L_A1},
713
726
  {"bsearch", ExtAPI::EFT_L_A1},
714
727
  {"getmntent_r", ExtAPI::EFT_L_A1},
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svf-tools",
3
- "version": "1.0.401",
3
+ "version": "1.0.404",
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": {