svf-lib 1.0.1423 → 1.0.1425
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.
- package/SVF-linux/Release-build/svf/libSvfCore.a +0 -0
- package/SVF-linux/Release-build/svf-llvm/libSvfLLVM.a +0 -0
- package/SVF-linux/svf/include/SVFIR/SVFType.h +4 -4
- package/SVF-linux/svf/include/SVFIR/SVFValue.h +3 -3
- package/SVF-osx/Release-build/svf/libSvfCore.a +0 -0
- package/SVF-osx/Release-build/svf-llvm/libSvfLLVM.a +0 -0
- package/SVF-osx/svf/include/Util/ExtAPI.json +36 -22
- package/package.json +1 -1
|
Binary file
|
|
Binary file
|
|
@@ -243,7 +243,7 @@ public:
|
|
|
243
243
|
{
|
|
244
244
|
SVFTy,
|
|
245
245
|
SVFPointerTy,
|
|
246
|
-
|
|
246
|
+
SVFIntegerTy,
|
|
247
247
|
SVFFunctionTy,
|
|
248
248
|
SVFStructTy,
|
|
249
249
|
SVFArrayTy,
|
|
@@ -337,13 +337,13 @@ public:
|
|
|
337
337
|
}
|
|
338
338
|
};
|
|
339
339
|
|
|
340
|
-
class
|
|
340
|
+
class SVFIntegerType : public SVFType
|
|
341
341
|
{
|
|
342
342
|
public:
|
|
343
|
-
|
|
343
|
+
SVFIntegerType() : SVFType(true, SVFIntegerTy) {}
|
|
344
344
|
static inline bool classof(const SVFType* node)
|
|
345
345
|
{
|
|
346
|
-
return node->getKind() ==
|
|
346
|
+
return node->getKind() == SVFIntegerTy;
|
|
347
347
|
}
|
|
348
348
|
};
|
|
349
349
|
|
|
@@ -266,7 +266,7 @@ public:
|
|
|
266
266
|
|
|
267
267
|
private:
|
|
268
268
|
bool isDecl; /// return true if this function does not have a body
|
|
269
|
-
bool
|
|
269
|
+
bool intrinsic; /// return true if this function is an intrinsic function (e.g., llvm.dbg), which does not reside in the application code
|
|
270
270
|
bool addrTaken; /// return true if this function is address-taken (for indirect call purposes)
|
|
271
271
|
bool isUncalled; /// return true if this function is never called
|
|
272
272
|
bool isNotRet; /// return true if this function never returns
|
|
@@ -307,7 +307,7 @@ protected:
|
|
|
307
307
|
/// @}
|
|
308
308
|
|
|
309
309
|
public:
|
|
310
|
-
SVFFunction(const std::string& f, const SVFType* ty,const SVFFunctionType* ft, bool declare, bool
|
|
310
|
+
SVFFunction(const std::string& f, const SVFType* ty,const SVFFunctionType* ft, bool declare, bool intrinsic, bool addrTaken, bool varg, SVFLoopAndDomInfo* ld);
|
|
311
311
|
SVFFunction(const std::string& f) = delete;
|
|
312
312
|
SVFFunction(void) = delete;
|
|
313
313
|
virtual ~SVFFunction();
|
|
@@ -328,7 +328,7 @@ public:
|
|
|
328
328
|
|
|
329
329
|
inline bool isIntrinsic() const
|
|
330
330
|
{
|
|
331
|
-
return
|
|
331
|
+
return intrinsic;
|
|
332
332
|
}
|
|
333
333
|
|
|
334
334
|
inline bool hasAddressTaken() const
|
|
Binary file
|
|
Binary file
|
|
@@ -4974,35 +4974,35 @@
|
|
|
4974
4974
|
"arguments": "(i8*, i8, i32, i32, i1)",
|
|
4975
4975
|
"type": "EFT_L_A0__A0R_A1",
|
|
4976
4976
|
"overwrite_app_function": 0,
|
|
4977
|
-
"memset_like": ["
|
|
4977
|
+
"memset_like": ["Arg0", "Arg1", "Arg2"]
|
|
4978
4978
|
},
|
|
4979
4979
|
"llvm.memset.p0i8.i32": {
|
|
4980
4980
|
"return": "void",
|
|
4981
4981
|
"arguments": "(i8*, i8, i32, i32, i1)",
|
|
4982
4982
|
"type": "EFT_L_A0__A0R_A1",
|
|
4983
4983
|
"overwrite_app_function": 0,
|
|
4984
|
-
"memset_like": ["
|
|
4984
|
+
"memset_like": ["Arg0", "Arg1", "Arg2"]
|
|
4985
4985
|
},
|
|
4986
4986
|
"llvm.memset.p0i8.i64": {
|
|
4987
4987
|
"return": "void",
|
|
4988
4988
|
"arguments": "(i8*, i8, i64, i32, i1)",
|
|
4989
4989
|
"type": "EFT_L_A0__A0R_A1",
|
|
4990
4990
|
"overwrite_app_function": 0,
|
|
4991
|
-
"memset_like": ["
|
|
4991
|
+
"memset_like": ["Arg0", "Arg1", "Arg2"]
|
|
4992
4992
|
},
|
|
4993
4993
|
"__memset_chk": {
|
|
4994
4994
|
"return": "void *",
|
|
4995
4995
|
"arguments": "(void *, int, size_t, size_t)",
|
|
4996
4996
|
"type": "EFT_L_A0__A0R_A1",
|
|
4997
4997
|
"overwrite_app_function": 0,
|
|
4998
|
-
"memset_like": ["
|
|
4998
|
+
"memset_like": ["Arg0", "Arg1", "Arg2"]
|
|
4999
4999
|
},
|
|
5000
5000
|
"llvm.memcpy": {
|
|
5001
5001
|
"return": "void",
|
|
5002
5002
|
"arguments": "(i8*, i8*, i32, i32, i1)",
|
|
5003
5003
|
"type": "EFT_L_A0__A0R_A1R",
|
|
5004
5004
|
"overwrite_app_function": 0,
|
|
5005
|
-
"memcpy_like": ["
|
|
5005
|
+
"memcpy_like": ["Arg0", "Arg1", "Arg2"],
|
|
5006
5006
|
"CopyStmt": {
|
|
5007
5007
|
"src": "Arg0",
|
|
5008
5008
|
"dst": "Ret"
|
|
@@ -5013,7 +5013,7 @@
|
|
|
5013
5013
|
"arguments": "(i8*, i8*, i32, i32, i1)",
|
|
5014
5014
|
"type": "EFT_L_A0__A0R_A1R",
|
|
5015
5015
|
"overwrite_app_function": 0,
|
|
5016
|
-
"memcpy_like": ["
|
|
5016
|
+
"memcpy_like": ["Arg0", "Arg1", "Arg2"],
|
|
5017
5017
|
"CopyStmt": {
|
|
5018
5018
|
"src": "Arg0",
|
|
5019
5019
|
"dst": "Ret"
|
|
@@ -5024,7 +5024,7 @@
|
|
|
5024
5024
|
"arguments": "(i8*, *i8, i64, i32, i1)",
|
|
5025
5025
|
"type": "EFT_L_A0__A0R_A1R",
|
|
5026
5026
|
"overwrite_app_function": 0,
|
|
5027
|
-
"memcpy_like": ["
|
|
5027
|
+
"memcpy_like": ["Arg0", "Arg1", "Arg2"],
|
|
5028
5028
|
"CopyStmt": {
|
|
5029
5029
|
"src": "Arg0",
|
|
5030
5030
|
"dst": "Ret"
|
|
@@ -5035,7 +5035,7 @@
|
|
|
5035
5035
|
"arguments": "(i8*, i8*, i32, i1)",
|
|
5036
5036
|
"type": "EFT_L_A0__A0R_A1R",
|
|
5037
5037
|
"overwrite_app_function": 0,
|
|
5038
|
-
"memcpy_like": ["
|
|
5038
|
+
"memcpy_like": ["Arg0", "Arg1", "Arg2"],
|
|
5039
5039
|
"CopyStmt": {
|
|
5040
5040
|
"src": "Arg0",
|
|
5041
5041
|
"dst": "Ret"
|
|
@@ -5046,7 +5046,7 @@
|
|
|
5046
5046
|
"arguments": "(i8*, i8*, i32, i1)",
|
|
5047
5047
|
"type": "EFT_L_A0__A0R_A1R",
|
|
5048
5048
|
"overwrite_app_function": 0,
|
|
5049
|
-
"memcpy_like": ["
|
|
5049
|
+
"memcpy_like": ["Arg0", "Arg1", "Arg2"],
|
|
5050
5050
|
"CopyStmt": {
|
|
5051
5051
|
"src": "Arg0",
|
|
5052
5052
|
"dst": "Ret"
|
|
@@ -5057,7 +5057,7 @@
|
|
|
5057
5057
|
"arguments": "(i8*, i8*, i64, i1)",
|
|
5058
5058
|
"type": "EFT_L_A0__A0R_A1R",
|
|
5059
5059
|
"overwrite_app_function": 0,
|
|
5060
|
-
"memcpy_like": ["
|
|
5060
|
+
"memcpy_like": ["Arg0", "Arg1", "Arg2"],
|
|
5061
5061
|
"CopyStmt": {
|
|
5062
5062
|
"src": "Arg0",
|
|
5063
5063
|
"dst": "Ret"
|
|
@@ -5068,7 +5068,7 @@
|
|
|
5068
5068
|
"arguments": "(void *restrict, const void *restrict, int, size_t)",
|
|
5069
5069
|
"type": "EFT_L_A0__A0R_A1R",
|
|
5070
5070
|
"overwrite_app_function": 0,
|
|
5071
|
-
"memcpy_like": ["
|
|
5071
|
+
"memcpy_like": ["Arg0", "Arg1", "Arg2"],
|
|
5072
5072
|
"CopyStmt": {
|
|
5073
5073
|
"src": "Arg0",
|
|
5074
5074
|
"dst": "Ret"
|
|
@@ -5079,7 +5079,7 @@
|
|
|
5079
5079
|
"arguments": "(void *, const void *, size_t)",
|
|
5080
5080
|
"type": "EFT_L_A0__A0R_A1R",
|
|
5081
5081
|
"overwrite_app_function": 0,
|
|
5082
|
-
"memcpy_like": ["
|
|
5082
|
+
"memcpy_like": ["Arg0", "Arg1", "Arg2"],
|
|
5083
5083
|
"CopyStmt": {
|
|
5084
5084
|
"src": "Arg0",
|
|
5085
5085
|
"dst": "Ret"
|
|
@@ -5090,7 +5090,7 @@
|
|
|
5090
5090
|
"arguments": "(void *, const void *, size_t)",
|
|
5091
5091
|
"type": "EFT_L_A0__A0R_A1R",
|
|
5092
5092
|
"overwrite_app_function": 0,
|
|
5093
|
-
"memcpy_like": ["
|
|
5093
|
+
"memcpy_like": ["Arg0", "Arg1", "Arg2"],
|
|
5094
5094
|
"CopyStmt": {
|
|
5095
5095
|
"src": "Arg0",
|
|
5096
5096
|
"dst": "Ret"
|
|
@@ -5108,14 +5108,14 @@
|
|
|
5108
5108
|
"arguments": "(const void *, void *, size_t)",
|
|
5109
5109
|
"type": "EFT_A1R_A0R",
|
|
5110
5110
|
"overwrite_app_function": 0,
|
|
5111
|
-
"memcpy_like": ["
|
|
5111
|
+
"memcpy_like": ["Arg1", "Arg0", "Arg2"]
|
|
5112
5112
|
},
|
|
5113
5113
|
"iconv": {
|
|
5114
5114
|
"return": "size_t",
|
|
5115
5115
|
"arguments": "(iconv_t, char **restrict, size_t *restrict, char **restrict, size_t *restrict)",
|
|
5116
5116
|
"type": "EFT_A3R_A1R_NS",
|
|
5117
5117
|
"overwrite_app_function": 0,
|
|
5118
|
-
"memcpy_like": ["
|
|
5118
|
+
"memcpy_like": ["Arg3", "Arg1"]
|
|
5119
5119
|
},
|
|
5120
5120
|
"strtod": {
|
|
5121
5121
|
"return": "double",
|
|
@@ -5192,7 +5192,7 @@
|
|
|
5192
5192
|
"arguments": "(char *, const char *, size_t)",
|
|
5193
5193
|
"type": "EFT_L_A0__A1_A0",
|
|
5194
5194
|
"overwrite_app_function": 0,
|
|
5195
|
-
"memcpy_like": ["
|
|
5195
|
+
"memcpy_like": ["Arg0", "Arg1", "Arg2"],
|
|
5196
5196
|
"CopyStmt": {
|
|
5197
5197
|
"src": "Arg0",
|
|
5198
5198
|
"dst": "Ret"
|
|
@@ -5203,7 +5203,7 @@
|
|
|
5203
5203
|
"arguments": "(char *, const char *, size_t)",
|
|
5204
5204
|
"type": "EFT_L_A0__A1_A0",
|
|
5205
5205
|
"overwrite_app_function": 0,
|
|
5206
|
-
"memcpy_like": ["
|
|
5206
|
+
"memcpy_like": ["Arg0", "Arg1", "Arg2"],
|
|
5207
5207
|
"CopyStmt": {
|
|
5208
5208
|
"src": "Arg0",
|
|
5209
5209
|
"dst": "Ret"
|
|
@@ -5214,7 +5214,7 @@
|
|
|
5214
5214
|
"arguments": "(char *restrict, const char *restrict)",
|
|
5215
5215
|
"type": "EFT_L_A0__A1_A0",
|
|
5216
5216
|
"overwrite_app_function": 0,
|
|
5217
|
-
"memcpy_like": ["
|
|
5217
|
+
"memcpy_like": ["Arg0", "Arg1"],
|
|
5218
5218
|
"CopyStmt": {
|
|
5219
5219
|
"src": "Arg0",
|
|
5220
5220
|
"dst": "Ret"
|
|
@@ -5225,7 +5225,7 @@
|
|
|
5225
5225
|
"arguments": "(char *, char *)",
|
|
5226
5226
|
"type": "EFT_L_A0__A1_A0",
|
|
5227
5227
|
"overwrite_app_function": 0,
|
|
5228
|
-
"memcpy_like": ["
|
|
5228
|
+
"memcpy_like": ["Arg0", "Arg1"],
|
|
5229
5229
|
"CopyStmt": {
|
|
5230
5230
|
"src": "Arg0",
|
|
5231
5231
|
"dst": "Ret"
|
|
@@ -5236,7 +5236,7 @@
|
|
|
5236
5236
|
"arguments": "(char *, const char *)",
|
|
5237
5237
|
"type": "EFT_L_A0__A1_A0",
|
|
5238
5238
|
"overwrite_app_function": 0,
|
|
5239
|
-
"memcpy_like": ["
|
|
5239
|
+
"memcpy_like": ["Arg0", "Arg1"],
|
|
5240
5240
|
"CopyStmt": {
|
|
5241
5241
|
"src": "Arg0",
|
|
5242
5242
|
"dst": "Ret"
|
|
@@ -5247,7 +5247,7 @@
|
|
|
5247
5247
|
"arguments": "(char *, const char *, size_t)",
|
|
5248
5248
|
"type": "EFT_L_A0__A1_A0",
|
|
5249
5249
|
"overwrite_app_function": 0,
|
|
5250
|
-
"memcpy_like": ["
|
|
5250
|
+
"memcpy_like": ["Arg0", "Arg1", "Arg2"],
|
|
5251
5251
|
"CopyStmt": {
|
|
5252
5252
|
"src": "Arg0",
|
|
5253
5253
|
"dst": "Ret"
|
|
@@ -5258,7 +5258,7 @@
|
|
|
5258
5258
|
"arguments": "(char *, const char *, size_t)",
|
|
5259
5259
|
"type": "EFT_L_A0__A1_A0",
|
|
5260
5260
|
"overwrite_app_function": 0,
|
|
5261
|
-
"memcpy_like": ["
|
|
5261
|
+
"memcpy_like": ["Arg0", "Arg1", "Arg2"],
|
|
5262
5262
|
"CopyStmt": {
|
|
5263
5263
|
"src": "Arg0",
|
|
5264
5264
|
"dst": "Ret"
|
|
@@ -5703,5 +5703,19 @@
|
|
|
5703
5703
|
"dst": "Ret",
|
|
5704
5704
|
"offset": "0"
|
|
5705
5705
|
}
|
|
5706
|
+
},
|
|
5707
|
+
"my_multi_free":{
|
|
5708
|
+
"return": "void",
|
|
5709
|
+
"arguments": "(int id, void** ptr)",
|
|
5710
|
+
"type": "EFT_FREE_MULTILEVEL",
|
|
5711
|
+
"overwrite_app_function": 1,
|
|
5712
|
+
"LoadStmt": {
|
|
5713
|
+
"src": "Arg1",
|
|
5714
|
+
"dst": "Dummy"
|
|
5715
|
+
},
|
|
5716
|
+
"StoreStmt": {
|
|
5717
|
+
"src": "NullPtr",
|
|
5718
|
+
"dst": "Dummy"
|
|
5719
|
+
}
|
|
5706
5720
|
}
|
|
5707
5721
|
}
|