svf-tools 1.0.758 → 1.0.760
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/CMakeLists.txt +7 -0
- package/SVF-doxygen/html/html/AccessPath_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/AddressValue_8h_source.html +1 -1
- package/SVF-doxygen/html/html/AndersenSCD_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/Andersen_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/Andersen_8h_source.html +2 -2
- package/SVF-doxygen/html/html/CFBasicBlockG_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/CFBasicBlockG_8h_source.html +2 -2
- package/SVF-doxygen/html/html/CFGrammar_8cpp_source.html +11 -8
- package/SVF-doxygen/html/html/CFLAlias_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/CFLAlias_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CHGBuilder_8cpp_source.html +17 -17
- package/SVF-doxygen/html/html/CHG_8cpp.html +2 -2
- package/SVF-doxygen/html/html/CHG_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/CHG_8h_source.html +3 -3
- package/SVF-doxygen/html/html/CallGraphBuilder_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/CallGraphBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/CommandLine_8h_source.html +2 -1
- package/SVF-doxygen/html/html/ConsExeState_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ConsExeState_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ConsG_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ContextDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CoreBitVector_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/CxtStmt_8h_source.html +2 -2
- package/SVF-doxygen/html/html/DCHG_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/DCHG_8h_source.html +3 -3
- package/SVF-doxygen/html/html/DDAClient_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/DDAClient_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DDAPass_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/DDAPass_8h_source.html +1 -1
- package/SVF-doxygen/html/html/DPItem_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ExeState_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ExtAPI_8cpp.html +0 -196
- package/SVF-doxygen/html/html/ExtAPI_8cpp_source.html +121 -786
- package/SVF-doxygen/html/html/ExtAPI_8h.html +2 -67
- package/SVF-doxygen/html/html/ExtAPI_8h_source.html +69 -654
- package/SVF-doxygen/html/html/FSMPTA_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/FSMPTA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/FlowSensitive_8h_source.html +1 -1
- package/SVF-doxygen/html/html/GenericGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ICFGBuilder_8cpp_source.html +11 -11
- package/SVF-doxygen/html/html/ICFGBuilder_8h_source.html +2 -2
- package/SVF-doxygen/html/html/ICFGEdge_8h_source.html +1 -1
- package/SVF-doxygen/html/html/ICFGNode_8h_source.html +4 -4
- package/SVF-doxygen/html/html/ICFG_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/ICFG_8h_source.html +1 -1
- package/SVF-doxygen/html/html/IRGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/IntervalExeState_8h_source.html +1 -1
- package/SVF-doxygen/html/html/IntervalValue_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LLVMLoopAnalysis_8cpp_source.html +6 -6
- package/SVF-doxygen/html/html/LLVMLoopAnalysis_8h_source.html +1 -1
- package/SVF-doxygen/html/html/LLVMModule_8cpp.html +3 -4
- package/SVF-doxygen/html/html/LLVMModule_8cpp_source.html +1408 -1289
- package/SVF-doxygen/html/html/LLVMModule_8h.html +1 -0
- package/SVF-doxygen/html/html/LLVMModule_8h_source.html +418 -400
- package/SVF-doxygen/html/html/LLVMUtil_8cpp_source.html +744 -616
- package/SVF-doxygen/html/html/LLVMUtil_8h.html +9 -1
- package/SVF-doxygen/html/html/LLVMUtil_8h_source.html +485 -472
- package/SVF-doxygen/html/html/LeakChecker_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/LockAnalysis_8cpp_source.html +14 -14
- package/SVF-doxygen/html/html/LockAnalysis_8h_source.html +2 -2
- package/SVF-doxygen/html/html/LockResultValidator_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/LockResultValidator_8h_source.html +5 -5
- package/SVF-doxygen/html/html/MHP_8cpp_source.html +14 -14
- package/SVF-doxygen/html/html/MHP_8h_source.html +3 -3
- package/SVF-doxygen/html/html/MSSAMuChi_8h_source.html +2 -2
- package/SVF-doxygen/html/html/MTAAnnotator_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/MTAAnnotator_8h_source.html +4 -4
- package/SVF-doxygen/html/html/MTAResultValidator_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/MTAStat_8cpp_source.html +7 -7
- package/SVF-doxygen/html/html/MTA_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/MTA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MemRegion_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/MemRegion_8h_source.html +1 -1
- package/SVF-doxygen/html/html/MemSSA_8cpp_source.html +20 -20
- package/SVF-doxygen/html/html/MemSSA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/NumericLiteral_8h_source.html +1 -1
- package/SVF-doxygen/html/html/Options_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/PCG_8cpp_source.html +13 -13
- package/SVF-doxygen/html/html/PCG_8h_source.html +3 -3
- package/SVF-doxygen/html/html/PTACallGraph_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/PTACallGraph_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PointerAnalysisImpl_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/PointerAnalysis_8cpp_source.html +12 -12
- package/SVF-doxygen/html/html/PointerAnalysis_8h_source.html +1 -1
- package/SVF-doxygen/html/html/PointsTo_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/ProgSlice_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/ProgSlice_8h_source.html +1 -1
- package/SVF-doxygen/html/html/RelExeState_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFBugReport_8cpp_source.html +362 -365
- package/SVF-doxygen/html/html/SVFBugReport_8h_source.html +24 -24
- package/SVF-doxygen/html/html/SVFFileSystem_8cpp_source.html +2087 -2084
- package/SVF-doxygen/html/html/SVFFileSystem_8h.html +1 -1
- package/SVF-doxygen/html/html/SVFFileSystem_8h_source.html +60 -60
- package/SVF-doxygen/html/html/SVFGBuilder_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFGOPT_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFGReadWrite_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFG_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/SVFIR2ConsExeState_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SVFIR2ItvExeState_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/SVFIRBuilder_8cpp_source.html +454 -527
- package/SVF-doxygen/html/html/SVFIRBuilder_8h.html +1 -1
- package/SVF-doxygen/html/html/SVFIRBuilder_8h_source.html +211 -233
- package/SVF-doxygen/html/html/SVFIRExtAPI_8cpp.html +2 -0
- package/SVF-doxygen/html/html/SVFIRExtAPI_8cpp_source.html +286 -682
- package/SVF-doxygen/html/html/SVFIR_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/SVFIR_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFModule_8cpp_source.html +9 -9
- package/SVF-doxygen/html/html/SVFModule_8h.html +0 -1
- package/SVF-doxygen/html/html/SVFModule_8h_source.html +258 -260
- package/SVF-doxygen/html/html/SVFStat_8cpp_source.html +8 -8
- package/SVF-doxygen/html/html/SVFStatements_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SVFStatements_8h_source.html +2 -2
- package/SVF-doxygen/html/html/SVFType_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SVFUtil_8cpp_source.html +7 -6
- package/SVF-doxygen/html/html/SVFUtil_8h.html +4 -9
- package/SVF-doxygen/html/html/SVFUtil_8h_source.html +392 -405
- package/SVF-doxygen/html/html/SVFValue_8cpp_source.html +11 -10
- package/SVF-doxygen/html/html/SVFValue_8h_source.html +1038 -1030
- package/SVF-doxygen/html/html/SVFVariables_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SaberCheckerAPI_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +14 -14
- package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +6 -6
- package/SVF-doxygen/html/html/SaberSVFGBuilder_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SparseBitVector_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SrcSnkDDA_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SrcSnkDDA_8h_source.html +1 -1
- package/SVF-doxygen/html/html/Steensgaard_8cpp_source.html +5 -5
- package/SVF-doxygen/html/html/Steensgaard_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SymState_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SymState_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableBuilder_8cpp_source.html +28 -28
- package/SVF-doxygen/html/html/SymbolTableBuilder_8h_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableInfo_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/SymbolTableInfo_8h_source.html +2 -2
- package/SVF-doxygen/html/html/TCT_8cpp_source.html +15 -15
- package/SVF-doxygen/html/html/TCT_8h_source.html +7 -7
- package/SVF-doxygen/html/html/ThreadAPI_8cpp_source.html +14 -14
- package/SVF-doxygen/html/html/ThreadAPI_8h_source.html +5 -5
- package/SVF-doxygen/html/html/ThreadCallGraph_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/TypeAnalysis_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/VFGNode_8h_source.html +1 -1
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/WPAPass_8h_source.html +1 -1
- package/SVF-doxygen/html/html/WTO_8h_source.html +1 -1
- package/SVF-doxygen/html/html/annotated.html +1 -4
- package/SVF-doxygen/html/html/cJSON_8cpp.html +2 -1
- package/SVF-doxygen/html/html/cJSON_8cpp_source.html +2 -1
- package/SVF-doxygen/html/html/cfl_8cpp.html +2 -2
- package/SVF-doxygen/html/html/cfl_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/classOption.html +2 -1
- package/SVF-doxygen/html/html/classSVF_1_1AccessPath.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ActualINSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ActualOUTSVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddrCGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddrStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AddressValue.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1AliasDDAClient.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1AndersenSCD.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BVDataPTAImpl.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BinaryOPVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BranchStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1BufferOverflowBug.html +50 -50
- package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockGWTO.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockGWTOCycle.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CFBasicBlockNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CFLAlias.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1CHGBuilder.html +18 -18
- package/SVF-doxygen/html/html/classSVF_1_1CHGraph.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1CallCFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallCHI.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallGraphBuilder.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1CallICFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1CallMU.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CallSite.html +95 -95
- package/SVF-doxygen/html/html/classSVF_1_1CmpStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CmpVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ConsExeState.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ContextCond.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ContextDDA.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CopyStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CoreBitVector.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CxtDPItem.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CxtStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CxtThread.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1CxtThreadStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1DCHGraph.html +9 -9
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeBug.html +35 -35
- package/SVF-doxygen/html/html/classSVF_1_1DoubleFreeChecker.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI-members.html +8 -77
- package/SVF-doxygen/html/html/classSVF_1_1ExtAPI.html +130 -1337
- package/SVF-doxygen/html/html/classSVF_1_1FIObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1FileNeverCloseBug.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1FilePartialCloseBug.html +35 -35
- package/SVF-doxygen/html/html/classSVF_1_1ForkJoinAnalysis.html +12 -12
- package/SVF-doxygen/html/html/classSVF_1_1FullNullPtrDereferenceBug.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1FunEntryICFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1FunExitICFGNode.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1FunptrDDAClient.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1GenericBug.html +9 -13
- package/SVF-doxygen/html/html/classSVF_1_1GenericGraphReader.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GepValVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1GrammarBase.html +11 -8
- package/SVF-doxygen/html/html/classSVF_1_1ICFG.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ICFGBuilder.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1ICFGWriter.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1InterMSSAPHISVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1InterPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntervalExeState.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntervalValue.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraCFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1IntraICFGNode.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1IntraPHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LLVMLoopAnalysis.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet-members.html +42 -40
- package/SVF-doxygen/html/html/classSVF_1_1LLVMModuleSet.html +1583 -1452
- package/SVF-doxygen/html/html/classSVF_1_1LeakChecker.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1LoadStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1LockAnalysis.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1LockResultValidator.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1MHP.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1MHPValidator.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1MRGenerator.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1MSSAPHISVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MTAAnnotator.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1MTAResultValidator.html +6 -6
- package/SVF-doxygen/html/html/classSVF_1_1MTASVFGBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MTAStat.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1MemObj.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1MemSSA.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1NeverFreeBug.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1NumericLiteral.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ObjVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PCG.html +14 -14
- package/SVF-doxygen/html/html/classSVF_1_1PHIVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PTACallGraphNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PartialLeakBug.html +34 -34
- package/SVF-doxygen/html/html/classSVF_1_1PartialNullPtrDereferenceBug.html +10 -10
- package/SVF-doxygen/html/html/classSVF_1_1PhiStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PointerAnalysis.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1PointsTo.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1PointsTo_1_1PointsToIterator.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1RaceResultValidator.html +7 -7
- package/SVF-doxygen/html/html/classSVF_1_1RaceValidator.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1ReaderIDToObjMap.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1ReaderPtrPool.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1RelExeState.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetCFGEdge.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1RetICFGNode.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1RetPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFArgument.html +30 -30
- package/SVF-doxygen/html/html/classSVF_1_1SVFBasicBlock.html +73 -73
- package/SVF-doxygen/html/html/classSVF_1_1SVFBlackHoleValue.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1SVFBugEvent.html +50 -50
- package/SVF-doxygen/html/html/classSVF_1_1SVFBugReport.html +87 -87
- package/SVF-doxygen/html/html/classSVF_1_1SVFCallInst.html +67 -67
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstant.html +17 -17
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantData.html +23 -23
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantFP.html +21 -21
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantInt.html +27 -27
- package/SVF-doxygen/html/html/classSVF_1_1SVFConstantNullPtr.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction-members.html +15 -13
- package/SVF-doxygen/html/html/classSVF_1_1SVFFunction.html +222 -153
- package/SVF-doxygen/html/html/classSVF_1_1SVFG.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1SVFGBuilder.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1SVFGOPT.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFGlobalValue.html +34 -34
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR2ConsExeState.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1SVFIR2ItvExeState.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder-members.html +64 -73
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRBuilder.html +905 -1767
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRReader.html +1126 -1124
- package/SVF-doxygen/html/html/classSVF_1_1SVFIRWriter.html +547 -546
- package/SVF-doxygen/html/html/classSVF_1_1SVFInstruction.html +53 -53
- package/SVF-doxygen/html/html/classSVF_1_1SVFLoopAndDomInfo.html +2 -2
- package/SVF-doxygen/html/html/classSVF_1_1SVFMetadataAsValue.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1SVFModule.html +173 -173
- package/SVF-doxygen/html/html/classSVF_1_1SVFModuleReader.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFModuleWriter.html +23 -23
- package/SVF-doxygen/html/html/classSVF_1_1SVFOtherType.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFOtherValue.html +11 -11
- package/SVF-doxygen/html/html/classSVF_1_1SVFStat.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1SVFStructType.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SVFValue.html +27 -27
- package/SVF-doxygen/html/html/classSVF_1_1SVFVirtualCallInst.html +53 -53
- package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +13 -13
- package/SVF-doxygen/html/html/classSVF_1_1SaberSVFGBuilder.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SelectStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SparseBitVector.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Steensgaard.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1StoreStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SymState.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableBuilder.html +27 -27
- package/SVF-doxygen/html/html/classSVF_1_1SymbolTableInfoReader.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TCT.html +15 -15
- package/SVF-doxygen/html/html/classSVF_1_1TDForkPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1TDJoinPE.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadAPI.html +8 -8
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraph.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ThreadCallGraphBuilder.html +5 -5
- package/SVF-doxygen/html/html/classSVF_1_1TypeAnalysis.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPStmt.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1UnaryOPVFGNode.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1ValVar.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1iter__adaptor__base.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1iter__facade__base_1_1ReferenceProxy.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1iter__range.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1mapped__iter.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1pointer__iterator.html +1 -1
- package/SVF-doxygen/html/html/classes.html +335 -338
- package/SVF-doxygen/html/html/dda_8cpp.html +1 -1
- package/SVF-doxygen/html/html/dda_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/dir_3bbf4ce25bc1411b817b5643b794c8fb.html +2 -0
- package/SVF-doxygen/html/html/extapi_8c.html +1950 -0
- package/SVF-doxygen/html/html/extapi_8c_source.html +1488 -0
- package/SVF-doxygen/html/html/files.html +29 -28
- package/SVF-doxygen/html/html/functions_a.html +17 -27
- package/SVF-doxygen/html/html/functions_b.html +9 -12
- package/SVF-doxygen/html/html/functions_c.html +26 -70
- package/SVF-doxygen/html/html/functions_d.html +3 -7
- package/SVF-doxygen/html/html/functions_e.html +4 -121
- package/SVF-doxygen/html/html/functions_enum.html +0 -6
- package/SVF-doxygen/html/html/functions_eval.html +0 -1
- package/SVF-doxygen/html/html/functions_eval_c.html +1 -15
- package/SVF-doxygen/html/html/functions_eval_e.html +0 -96
- package/SVF-doxygen/html/html/functions_eval_g.html +1 -2
- package/SVF-doxygen/html/html/functions_eval_l.html +0 -1
- package/SVF-doxygen/html/html/functions_eval_m.html +0 -6
- package/SVF-doxygen/html/html/functions_eval_o.html +0 -3
- package/SVF-doxygen/html/html/functions_eval_r.html +0 -6
- package/SVF-doxygen/html/html/functions_eval_s.html +0 -1
- package/SVF-doxygen/html/html/functions_f.html +16 -19
- package/SVF-doxygen/html/html/functions_func.html +6 -18
- package/SVF-doxygen/html/html/functions_func_e.html +1 -13
- package/SVF-doxygen/html/html/functions_func_g.html +24 -91
- package/SVF-doxygen/html/html/functions_func_h.html +9 -12
- package/SVF-doxygen/html/html/functions_func_i.html +16 -28
- package/SVF-doxygen/html/html/functions_func_n.html +0 -3
- package/SVF-doxygen/html/html/functions_func_p.html +3 -12
- package/SVF-doxygen/html/html/functions_func_s.html +20 -83
- package/SVF-doxygen/html/html/functions_g.html +32 -100
- package/SVF-doxygen/html/html/functions_h.html +6 -9
- package/SVF-doxygen/html/html/functions_i.html +16 -28
- package/SVF-doxygen/html/html/functions_l.html +0 -1
- package/SVF-doxygen/html/html/functions_m.html +1 -7
- package/SVF-doxygen/html/html/functions_n.html +4 -7
- package/SVF-doxygen/html/html/functions_o.html +31 -44
- package/SVF-doxygen/html/html/functions_p.html +18 -29
- package/SVF-doxygen/html/html/functions_r.html +9 -16
- package/SVF-doxygen/html/html/functions_s.html +16 -84
- package/SVF-doxygen/html/html/functions_t.html +4 -10
- package/SVF-doxygen/html/html/functions_v.html +3 -3
- package/SVF-doxygen/html/html/functions_vars_a.html +3 -0
- package/SVF-doxygen/html/html/functions_vars_b.html +0 -3
- package/SVF-doxygen/html/html/functions_vars_c.html +1 -23
- package/SVF-doxygen/html/html/functions_vars_d.html +1 -5
- package/SVF-doxygen/html/html/functions_vars_e.html +2 -8
- package/SVF-doxygen/html/html/functions_vars_f.html +0 -3
- package/SVF-doxygen/html/html/functions_vars_o.html +0 -9
- package/SVF-doxygen/html/html/functions_vars_r.html +1 -2
- package/SVF-doxygen/html/html/functions_vars_s.html +1 -5
- package/SVF-doxygen/html/html/functions_vars_t.html +0 -6
- package/SVF-doxygen/html/html/globals.html +22 -4
- package/SVF-doxygen/html/html/globals_a.html +3 -0
- package/SVF-doxygen/html/html/globals_b.html +3 -0
- package/SVF-doxygen/html/html/globals_defs.html +3 -9
- package/SVF-doxygen/html/html/globals_e.html +0 -3
- package/SVF-doxygen/html/html/globals_f.html +11 -2
- package/SVF-doxygen/html/html/globals_func.html +159 -15
- package/SVF-doxygen/html/html/globals_g.html +13 -4
- package/SVF-doxygen/html/html/globals_i.html +41 -2
- package/SVF-doxygen/html/html/globals_j.html +3 -6
- package/SVF-doxygen/html/html/globals_l.html +3 -0
- package/SVF-doxygen/html/html/globals_m.html +8 -2
- package/SVF-doxygen/html/html/globals_n.html +2 -1
- package/SVF-doxygen/html/html/globals_p.html +1 -4
- package/SVF-doxygen/html/html/globals_r.html +12 -6
- package/SVF-doxygen/html/html/globals_s.html +33 -0
- package/SVF-doxygen/html/html/globals_t.html +3 -0
- package/SVF-doxygen/html/html/hierarchy.html +526 -529
- package/SVF-doxygen/html/html/iterator_8h_source.html +1 -1
- package/SVF-doxygen/html/html/iterator__range_8h_source.html +1 -1
- package/SVF-doxygen/html/html/llvm2svf_8cpp.html +1 -1
- package/SVF-doxygen/html/html/llvm2svf_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/menudata.js +3 -0
- package/SVF-doxygen/html/html/mta_8cpp.html +1 -1
- package/SVF-doxygen/html/html/mta_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/namespaceSVF.html +152 -151
- package/SVF-doxygen/html/html/namespaceSVF_1_1LLVMUtil.html +1003 -776
- package/SVF-doxygen/html/html/namespaceSVF_1_1SVFUtil.html +298 -368
- package/SVF-doxygen/html/html/namespacemembers_func_g.html +11 -5
- package/SVF-doxygen/html/html/namespacemembers_func_i.html +11 -14
- package/SVF-doxygen/html/html/namespacemembers_func_r.html +6 -0
- package/SVF-doxygen/html/html/namespacemembers_g.html +11 -5
- package/SVF-doxygen/html/html/namespacemembers_i.html +8 -11
- package/SVF-doxygen/html/html/namespacemembers_r.html +6 -0
- package/SVF-doxygen/html/html/saber_8cpp.html +1 -1
- package/SVF-doxygen/html/html/saber_8cpp_source.html +1 -1
- package/SVF-doxygen/html/html/search/all_0.js +153 -147
- package/SVF-doxygen/html/html/search/all_1.js +476 -478
- package/SVF-doxygen/html/html/search/all_10.js +323 -327
- package/SVF-doxygen/html/html/search/all_11.js +212 -209
- package/SVF-doxygen/html/html/search/all_12.js +536 -547
- package/SVF-doxygen/html/html/search/all_13.js +188 -189
- package/SVF-doxygen/html/html/search/all_14.js +66 -66
- package/SVF-doxygen/html/html/search/all_15.js +170 -170
- package/SVF-doxygen/html/html/search/all_16.js +60 -60
- package/SVF-doxygen/html/html/search/all_17.js +1 -1
- package/SVF-doxygen/html/html/search/all_18.js +1 -1
- package/SVF-doxygen/html/html/search/all_19.js +10 -10
- package/SVF-doxygen/html/html/search/all_1a.js +169 -169
- package/SVF-doxygen/html/html/search/all_2.js +159 -159
- package/SVF-doxygen/html/html/search/all_3.js +597 -608
- package/SVF-doxygen/html/html/search/all_4.js +226 -227
- package/SVF-doxygen/html/html/search/all_5.js +116 -156
- package/SVF-doxygen/html/html/search/all_6.js +225 -223
- package/SVF-doxygen/html/html/search/all_7.js +996 -1012
- package/SVF-doxygen/html/html/search/all_8.js +191 -192
- package/SVF-doxygen/html/html/search/all_9.js +605 -597
- package/SVF-doxygen/html/html/search/all_a.js +46 -47
- package/SVF-doxygen/html/html/search/all_b.js +26 -26
- package/SVF-doxygen/html/html/search/all_c.js +114 -113
- package/SVF-doxygen/html/html/search/all_d.js +196 -196
- package/SVF-doxygen/html/html/search/all_e.js +205 -206
- package/SVF-doxygen/html/html/search/all_f.js +116 -122
- package/SVF-doxygen/html/html/search/classes_0.js +26 -26
- package/SVF-doxygen/html/html/search/classes_1.js +9 -9
- package/SVF-doxygen/html/html/search/classes_10.js +73 -73
- package/SVF-doxygen/html/html/search/classes_11.js +15 -15
- package/SVF-doxygen/html/html/search/classes_12.js +2 -2
- package/SVF-doxygen/html/html/search/classes_13.js +10 -10
- package/SVF-doxygen/html/html/search/classes_14.js +14 -14
- package/SVF-doxygen/html/html/search/classes_15.js +1 -1
- package/SVF-doxygen/html/html/search/classes_2.js +76 -76
- package/SVF-doxygen/html/html/search/classes_3.js +35 -35
- package/SVF-doxygen/html/html/search/classes_4.js +8 -10
- package/SVF-doxygen/html/html/search/classes_5.js +28 -28
- package/SVF-doxygen/html/html/search/classes_6.js +98 -98
- package/SVF-doxygen/html/html/search/classes_7.js +33 -33
- package/SVF-doxygen/html/html/search/classes_8.js +56 -56
- package/SVF-doxygen/html/html/search/classes_9.js +1 -1
- package/SVF-doxygen/html/html/search/classes_a.js +12 -12
- package/SVF-doxygen/html/html/search/classes_b.js +29 -29
- package/SVF-doxygen/html/html/search/classes_c.js +6 -6
- package/SVF-doxygen/html/html/search/classes_d.js +18 -19
- package/SVF-doxygen/html/html/search/classes_e.js +36 -36
- package/SVF-doxygen/html/html/search/classes_f.js +25 -25
- package/SVF-doxygen/html/html/search/defines_0.js +3 -3
- package/SVF-doxygen/html/html/search/defines_1.js +2 -2
- package/SVF-doxygen/html/html/search/defines_2.js +30 -30
- package/SVF-doxygen/html/html/search/defines_3.js +20 -20
- package/SVF-doxygen/html/html/search/defines_4.js +2 -3
- package/SVF-doxygen/html/html/search/defines_5.js +4 -4
- package/SVF-doxygen/html/html/search/defines_6.js +2 -2
- package/SVF-doxygen/html/html/search/defines_7.js +5 -5
- package/SVF-doxygen/html/html/search/defines_8.js +11 -13
- package/SVF-doxygen/html/html/search/defines_9.js +9 -9
- package/SVF-doxygen/html/html/search/defines_a.js +2 -2
- package/SVF-doxygen/html/html/search/defines_b.js +1 -1
- package/SVF-doxygen/html/html/search/defines_c.js +3 -2
- package/SVF-doxygen/html/html/search/defines_d.js +2 -2
- package/SVF-doxygen/html/html/search/defines_e.js +6 -6
- package/SVF-doxygen/html/html/search/defines_f.js +3 -3
- package/SVF-doxygen/html/html/search/enums_0.js +3 -3
- package/SVF-doxygen/html/html/search/enums_1.js +2 -2
- package/SVF-doxygen/html/html/search/enums_10.js +1 -1
- package/SVF-doxygen/html/html/search/enums_11.js +1 -1
- package/SVF-doxygen/html/html/search/enums_2.js +8 -8
- package/SVF-doxygen/html/html/search/enums_3.js +1 -1
- package/SVF-doxygen/html/html/search/enums_4.js +3 -4
- package/SVF-doxygen/html/html/search/enums_5.js +1 -1
- package/SVF-doxygen/html/html/search/enums_6.js +2 -2
- package/SVF-doxygen/html/html/search/enums_7.js +2 -2
- package/SVF-doxygen/html/html/search/enums_8.js +4 -4
- package/SVF-doxygen/html/html/search/enums_9.js +1 -1
- package/SVF-doxygen/html/html/search/enums_a.js +1 -2
- package/SVF-doxygen/html/html/search/enums_b.js +7 -7
- package/SVF-doxygen/html/html/search/enums_c.js +1 -1
- package/SVF-doxygen/html/html/search/enums_d.js +4 -4
- package/SVF-doxygen/html/html/search/enums_e.js +2 -2
- package/SVF-doxygen/html/html/search/enums_f.js +4 -4
- package/SVF-doxygen/html/html/search/enumvalues_0.js +14 -14
- package/SVF-doxygen/html/html/search/enumvalues_1.js +14 -14
- package/SVF-doxygen/html/html/search/enumvalues_10.js +35 -35
- package/SVF-doxygen/html/html/search/enumvalues_11.js +3 -3
- package/SVF-doxygen/html/html/search/enumvalues_12.js +10 -10
- package/SVF-doxygen/html/html/search/enumvalues_13.js +1 -1
- package/SVF-doxygen/html/html/search/enumvalues_14.js +1 -1
- package/SVF-doxygen/html/html/search/enumvalues_15.js +3 -3
- package/SVF-doxygen/html/html/search/enumvalues_2.js +36 -40
- package/SVF-doxygen/html/html/search/enumvalues_3.js +13 -13
- package/SVF-doxygen/html/html/search/enumvalues_4.js +2 -34
- package/SVF-doxygen/html/html/search/enumvalues_5.js +48 -48
- package/SVF-doxygen/html/html/search/enumvalues_6.js +6 -6
- package/SVF-doxygen/html/html/search/enumvalues_7.js +9 -9
- package/SVF-doxygen/html/html/search/enumvalues_8.js +23 -23
- package/SVF-doxygen/html/html/search/enumvalues_9.js +6 -6
- package/SVF-doxygen/html/html/search/enumvalues_a.js +15 -17
- package/SVF-doxygen/html/html/search/enumvalues_b.js +11 -11
- package/SVF-doxygen/html/html/search/enumvalues_c.js +5 -6
- package/SVF-doxygen/html/html/search/enumvalues_d.js +18 -18
- package/SVF-doxygen/html/html/search/enumvalues_e.js +9 -11
- package/SVF-doxygen/html/html/search/enumvalues_f.js +45 -45
- package/SVF-doxygen/html/html/search/files_0.js +13 -13
- package/SVF-doxygen/html/html/search/files_1.js +7 -7
- package/SVF-doxygen/html/html/search/files_10.js +8 -8
- package/SVF-doxygen/html/html/search/files_11.js +8 -8
- package/SVF-doxygen/html/html/search/files_12.js +2 -2
- package/SVF-doxygen/html/html/search/files_2.js +49 -49
- package/SVF-doxygen/html/html/search/files_3.js +14 -14
- package/SVF-doxygen/html/html/search/files_4.js +5 -4
- package/SVF-doxygen/html/html/search/files_5.js +13 -13
- package/SVF-doxygen/html/html/search/files_6.js +9 -9
- package/SVF-doxygen/html/html/search/files_7.js +14 -14
- package/SVF-doxygen/html/html/search/files_8.js +13 -13
- package/SVF-doxygen/html/html/search/files_9.js +18 -18
- package/SVF-doxygen/html/html/search/files_a.js +3 -3
- package/SVF-doxygen/html/html/search/files_b.js +2 -2
- package/SVF-doxygen/html/html/search/files_c.js +20 -20
- package/SVF-doxygen/html/html/search/files_d.js +4 -4
- package/SVF-doxygen/html/html/search/files_e.js +62 -62
- package/SVF-doxygen/html/html/search/files_f.js +8 -8
- package/SVF-doxygen/html/html/search/functions_0.js +6 -351
- package/SVF-doxygen/html/html/search/functions_1.js +348 -81
- package/SVF-doxygen/html/html/search/functions_10.js +139 -122
- package/SVF-doxygen/html/html/search/functions_11.js +126 -283
- package/SVF-doxygen/html/html/search/functions_12.js +273 -55
- package/SVF-doxygen/html/html/search/functions_13.js +56 -38
- package/SVF-doxygen/html/html/search/functions_14.js +38 -71
- package/SVF-doxygen/html/html/search/functions_15.js +71 -29
- package/SVF-doxygen/html/html/search/functions_16.js +29 -2
- package/SVF-doxygen/html/html/search/functions_17.js +2 -169
- package/SVF-doxygen/html/html/search/functions_18.html +30 -0
- package/SVF-doxygen/html/html/search/functions_18.js +172 -0
- package/SVF-doxygen/html/html/search/functions_2.js +82 -251
- package/SVF-doxygen/html/html/search/functions_3.js +251 -71
- package/SVF-doxygen/html/html/search/functions_4.js +71 -55
- package/SVF-doxygen/html/html/search/functions_5.js +51 -55
- package/SVF-doxygen/html/html/search/functions_6.js +58 -832
- package/SVF-doxygen/html/html/search/functions_7.js +816 -144
- package/SVF-doxygen/html/html/search/functions_8.js +143 -417
- package/SVF-doxygen/html/html/search/functions_9.js +425 -29
- package/SVF-doxygen/html/html/search/functions_a.js +30 -2
- package/SVF-doxygen/html/html/search/functions_b.js +2 -23
- package/SVF-doxygen/html/html/search/functions_c.js +24 -75
- package/SVF-doxygen/html/html/search/functions_d.js +77 -35
- package/SVF-doxygen/html/html/search/functions_e.js +34 -56
- package/SVF-doxygen/html/html/search/functions_f.js +56 -143
- package/SVF-doxygen/html/html/search/namespaces_0.js +1 -1
- package/SVF-doxygen/html/html/search/namespaces_1.js +7 -7
- package/SVF-doxygen/html/html/search/related_0.js +2 -2
- package/SVF-doxygen/html/html/search/related_1.js +1 -1
- package/SVF-doxygen/html/html/search/related_2.js +2 -2
- package/SVF-doxygen/html/html/search/related_3.js +2 -2
- package/SVF-doxygen/html/html/search/related_4.js +2 -2
- package/SVF-doxygen/html/html/search/related_5.js +1 -1
- package/SVF-doxygen/html/html/search/related_6.js +2 -2
- package/SVF-doxygen/html/html/search/related_7.js +4 -4
- package/SVF-doxygen/html/html/search/related_8.js +2 -2
- package/SVF-doxygen/html/html/search/related_9.js +4 -4
- package/SVF-doxygen/html/html/search/related_a.js +19 -19
- package/SVF-doxygen/html/html/search/related_b.js +4 -4
- package/SVF-doxygen/html/html/search/related_c.js +1 -1
- package/SVF-doxygen/html/html/search/related_d.js +11 -11
- package/SVF-doxygen/html/html/search/related_e.js +2 -2
- package/SVF-doxygen/html/html/search/related_f.js +2 -2
- package/SVF-doxygen/html/html/search/searchdata.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_0.js +18 -18
- package/SVF-doxygen/html/html/search/typedefs_1.js +25 -25
- package/SVF-doxygen/html/html/search/typedefs_10.js +60 -60
- package/SVF-doxygen/html/html/search/typedefs_11.js +13 -13
- package/SVF-doxygen/html/html/search/typedefs_12.js +11 -11
- package/SVF-doxygen/html/html/search/typedefs_13.js +35 -35
- package/SVF-doxygen/html/html/search/typedefs_14.js +8 -8
- package/SVF-doxygen/html/html/search/typedefs_2.js +126 -126
- package/SVF-doxygen/html/html/search/typedefs_3.js +39 -39
- package/SVF-doxygen/html/html/search/typedefs_4.js +16 -16
- package/SVF-doxygen/html/html/search/typedefs_5.js +41 -41
- package/SVF-doxygen/html/html/search/typedefs_6.js +52 -52
- package/SVF-doxygen/html/html/search/typedefs_7.js +40 -40
- package/SVF-doxygen/html/html/search/typedefs_8.js +1 -1
- package/SVF-doxygen/html/html/search/typedefs_9.js +6 -6
- package/SVF-doxygen/html/html/search/typedefs_a.js +29 -29
- package/SVF-doxygen/html/html/search/typedefs_b.js +29 -29
- package/SVF-doxygen/html/html/search/typedefs_c.js +40 -40
- package/SVF-doxygen/html/html/search/typedefs_d.js +15 -15
- package/SVF-doxygen/html/html/search/typedefs_e.js +52 -52
- package/SVF-doxygen/html/html/search/typedefs_f.js +14 -14
- package/SVF-doxygen/html/html/search/variables_0.js +147 -147
- package/SVF-doxygen/html/html/search/variables_1.js +75 -74
- package/SVF-doxygen/html/html/search/variables_10.js +97 -97
- package/SVF-doxygen/html/html/search/variables_11.js +46 -46
- package/SVF-doxygen/html/html/search/variables_12.js +92 -93
- package/SVF-doxygen/html/html/search/variables_13.js +75 -77
- package/SVF-doxygen/html/html/search/variables_14.js +14 -14
- package/SVF-doxygen/html/html/search/variables_15.js +48 -48
- package/SVF-doxygen/html/html/search/variables_16.js +9 -9
- package/SVF-doxygen/html/html/search/variables_17.js +1 -1
- package/SVF-doxygen/html/html/search/variables_18.js +2 -2
- package/SVF-doxygen/html/html/search/variables_2.js +34 -35
- package/SVF-doxygen/html/html/search/variables_3.js +141 -148
- package/SVF-doxygen/html/html/search/variables_4.js +55 -56
- package/SVF-doxygen/html/html/search/variables_5.js +38 -40
- package/SVF-doxygen/html/html/search/variables_6.js +66 -67
- package/SVF-doxygen/html/html/search/variables_7.js +33 -33
- package/SVF-doxygen/html/html/search/variables_8.js +7 -7
- package/SVF-doxygen/html/html/search/variables_9.js +77 -77
- package/SVF-doxygen/html/html/search/variables_a.js +4 -4
- package/SVF-doxygen/html/html/search/variables_b.js +10 -10
- package/SVF-doxygen/html/html/search/variables_c.js +45 -45
- package/SVF-doxygen/html/html/search/variables_d.js +56 -56
- package/SVF-doxygen/html/html/search/variables_e.js +123 -123
- package/SVF-doxygen/html/html/search/variables_f.js +30 -33
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01ConstraintGraph_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1DOTGraphTraits_3_01IRGraph_01_5_01_4.html +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__iterable.html +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__iterable_3_01T_00_01void__t_3_01decltype_07std_1_1begin_07std_1_1dec794949348c8e1e00603fd8633b6dd1f3.html +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__map.html +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__map_3_01std_1_1map_3_01Ts_8_8_8_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__map_3_01std_1_1unordered__map_3_01Ts_8_8_8_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__sequence__container.html +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__sequence__container_3_01std_1_1deque_3_01Ts_8_8_8_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__sequence__container_3_01std_1_1list_3_01Ts_8_8_8_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__sequence__container_3_01std_1_1vector_3_01Ts_8_8_8_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__set.html +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__set_3_01std_1_1set_3_01Ts_8_8_8_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1is__set_3_01std_1_1unordered__set_3_01Ts_8_8_8_01_4_01_4.html +1 -1
- package/SVF-doxygen/html/html/structSVF_1_1SVFUtil_1_1make__void.html +2 -2
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CallSite_01_4.html +7 -7
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1CxtStmt_01_4.html +1 -1
- package/SVF-doxygen/html/html/svf-ex_8cpp.html +3 -3
- package/SVF-doxygen/html/html/svf-ex_8cpp_source.html +4 -4
- package/SVF-doxygen/html/html/svf-llvm_2tools_2MTA_2MTAResultValidator_8h_source.html +9 -9
- package/SVF-doxygen/html/html/svf_2include_2MTA_2MTAResultValidator_8h_source.html +9 -9
- package/SVF-doxygen/html/html/wpa_8cpp.html +1 -1
- package/SVF-doxygen/html/html/wpa_8cpp_source.html +1 -1
- package/build.sh +1 -1
- package/package.json +1 -1
- package/svf/include/SVFIR/SVFModule.h +0 -1
- package/svf/include/SVFIR/SVFValue.h +7 -1
- package/svf/include/Util/ExtAPI.h +11 -457
- package/svf/include/Util/SVFUtil.h +7 -22
- package/svf/lib/SVFIR/SVFFileSystem.cpp +3 -1
- package/svf/lib/SVFIR/SVFValue.cpp +2 -2
- package/svf/lib/Util/ExtAPI.cpp +36 -595
- package/svf/lib/Util/Options.cpp +1 -1
- package/svf/lib/Util/SVFBugReport.cpp +0 -2
- package/svf-llvm/include/SVF-LLVM/LLVMModule.h +17 -0
- package/svf-llvm/include/SVF-LLVM/LLVMUtil.h +14 -1
- package/svf-llvm/include/SVF-LLVM/SVFIRBuilder.h +5 -14
- package/svf-llvm/lib/LLVMModule.cpp +157 -43
- package/svf-llvm/lib/LLVMUtil.cpp +121 -0
- package/svf-llvm/lib/SVFIRBuilder.cpp +7 -76
- package/svf-llvm/lib/SVFIRExtAPI.cpp +161 -536
- package/svf-llvm/lib/extapi.c +1348 -0
- package/svf/include/Util/ExtAPI.json +0 -5853
|
@@ -122,378 +122,376 @@ $(function() {
|
|
|
122
122
|
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classSVF_1_1GenericBug.html#abbc86875488c27e53e5c36e95c472b20"> 51</a></span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> GenericBug::getLoc()<span class="keyword"> const</span></div>
|
|
123
123
|
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword"></span>{</div>
|
|
124
124
|
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBugEvent.html">SVFBugEvent</a>&sourceInstEvent = bugEventStack.at(bugEventStack.size() -1);</div>
|
|
125
|
-
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> 
|
|
126
|
-
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> 
|
|
127
|
-
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> 
|
|
128
|
-
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span> 
|
|
129
|
-
<div class="line"><a name="l00058"></a><span class="lineno"
|
|
130
|
-
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span> 
|
|
131
|
-
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="
|
|
132
|
-
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> 
|
|
133
|
-
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> 
|
|
134
|
-
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> 
|
|
135
|
-
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> 
|
|
136
|
-
<div class="line"><a name="l00065"></a><span class="lineno"
|
|
137
|
-
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> 
|
|
138
|
-
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <a class="code" href="structcJSON.html">cJSON</a> *
|
|
139
|
-
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <a class="code" href="structcJSON.html">cJSON</a> *
|
|
140
|
-
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <a class="code" href="structcJSON.html">cJSON</a> *
|
|
141
|
-
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> 
|
|
142
|
-
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <
|
|
143
|
-
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> 
|
|
144
|
-
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  cJSON_AddItemToObject(bugDescription, <span class="stringliteral">"
|
|
145
|
-
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  cJSON_AddItemToObject(bugDescription, <span class="stringliteral">"
|
|
146
|
-
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> 
|
|
147
|
-
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> 
|
|
148
|
-
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> 
|
|
149
|
-
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> 
|
|
150
|
-
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> 
|
|
151
|
-
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> 
|
|
152
|
-
<div class="line"><a name="l00081"></a><span class="lineno"
|
|
153
|
-
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> 
|
|
154
|
-
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> 
|
|
155
|
-
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> 
|
|
156
|
-
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span> 
|
|
157
|
-
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> 
|
|
158
|
-
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> 
|
|
159
|
-
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  </div>
|
|
160
|
-
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> 
|
|
161
|
-
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> 
|
|
162
|
-
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> 
|
|
163
|
-
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> 
|
|
164
|
-
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> 
|
|
165
|
-
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> 
|
|
166
|
-
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> 
|
|
167
|
-
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> 
|
|
168
|
-
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> 
|
|
169
|
-
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <
|
|
170
|
-
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span> 
|
|
171
|
-
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> 
|
|
172
|
-
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> 
|
|
173
|
-
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordflow">
|
|
125
|
+
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordflow">return</span> sourceInstEvent.<a class="code" href="classSVF_1_1SVFBugEvent.html#a5b3fcd366e5275927eb66a02dc6040f8">getEventLoc</a>();</div>
|
|
126
|
+
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> }</div>
|
|
127
|
+
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  </div>
|
|
128
|
+
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classSVF_1_1GenericBug.html#afad49e3f62083345138932ffadf567dd"> 57</a></span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> GenericBug::getFuncName()<span class="keyword"> const</span></div>
|
|
129
|
+
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword"></span>{</div>
|
|
130
|
+
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBugEvent.html">SVFBugEvent</a>&sourceInstEvent = bugEventStack.at(bugEventStack.size() -1);</div>
|
|
131
|
+
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keywordflow">return</span> sourceInstEvent.<a class="code" href="classSVF_1_1SVFBugEvent.html#ad3bcb02563f952edd43ab5a7276bd57d">getFuncName</a>();</div>
|
|
132
|
+
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> }</div>
|
|
133
|
+
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  </div>
|
|
134
|
+
<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="classSVF_1_1BufferOverflowBug.html#a192bb246ed947f33cf7b02493c8fded8"> 63</a></span> <a class="code" href="structcJSON.html">cJSON</a> *BufferOverflowBug::getBugDescription()<span class="keyword"> const</span></div>
|
|
135
|
+
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> <span class="keyword"></span>{</div>
|
|
136
|
+
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
|
|
137
|
+
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <a class="code" href="structcJSON.html">cJSON</a> *allocLB = cJSON_CreateNumber(allocLowerBound);</div>
|
|
138
|
+
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <a class="code" href="structcJSON.html">cJSON</a> *allocUB = cJSON_CreateNumber(allocUpperBound);</div>
|
|
139
|
+
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <a class="code" href="structcJSON.html">cJSON</a> *accessLB = cJSON_CreateNumber(accessLowerBound);</div>
|
|
140
|
+
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <a class="code" href="structcJSON.html">cJSON</a> *accessUB = cJSON_CreateNumber(accessUpperBound);</div>
|
|
141
|
+
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  </div>
|
|
142
|
+
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  cJSON_AddItemToObject(bugDescription, <span class="stringliteral">"AllocLowerBound"</span>, allocLB);</div>
|
|
143
|
+
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  cJSON_AddItemToObject(bugDescription, <span class="stringliteral">"AllocUpperBound"</span>, allocUB);</div>
|
|
144
|
+
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  cJSON_AddItemToObject(bugDescription, <span class="stringliteral">"AccessLowerBound"</span>, accessLB);</div>
|
|
145
|
+
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  cJSON_AddItemToObject(bugDescription, <span class="stringliteral">"AccessUpperBound"</span>, accessUB);</div>
|
|
146
|
+
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  </div>
|
|
147
|
+
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordflow">return</span> bugDescription;</div>
|
|
148
|
+
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> }</div>
|
|
149
|
+
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  </div>
|
|
150
|
+
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="classSVF_1_1BufferOverflowBug.html#ac985d855e598175618b517259b6d3212"> 79</a></span> <span class="keywordtype">void</span> BufferOverflowBug::printBugToTerminal()<span class="keyword"> const</span></div>
|
|
151
|
+
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="keyword"></span>{</div>
|
|
152
|
+
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  stringstream bugInfo;</div>
|
|
153
|
+
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keywordflow">if</span>(FullBufferOverflowBug::classof(<span class="keyword">this</span>))</div>
|
|
154
|
+
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  {</div>
|
|
155
|
+
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <a class="code" href="namespaceSVF_1_1SVFUtil.html#a10504db25b86bc7f74aebb9c54f04cb3">SVFUtil::bugMsg1</a>(<span class="stringliteral">"\t Full Overflow :"</span>) << <span class="stringliteral">" accessing at : ("</span></div>
|
|
156
|
+
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  << GenericBug::getLoc() << <span class="stringliteral">")\n"</span>;</div>
|
|
157
|
+
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  </div>
|
|
158
|
+
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  }</div>
|
|
159
|
+
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordflow">else</span></div>
|
|
160
|
+
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  {</div>
|
|
161
|
+
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <a class="code" href="namespaceSVF_1_1SVFUtil.html#a10504db25b86bc7f74aebb9c54f04cb3">SVFUtil::bugMsg1</a>(<span class="stringliteral">"\t Partial Overflow :"</span>) << <span class="stringliteral">" accessing at : ("</span></div>
|
|
162
|
+
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  << GenericBug::getLoc() << <span class="stringliteral">")\n"</span>;</div>
|
|
163
|
+
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  }</div>
|
|
164
|
+
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  bugInfo << <span class="stringliteral">"\t\t allocate size : ["</span> << allocLowerBound << <span class="stringliteral">", "</span> << allocUpperBound << <span class="stringliteral">"], "</span>;</div>
|
|
165
|
+
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  bugInfo << <span class="stringliteral">"access size : ["</span> << accessLowerBound << <span class="stringliteral">", "</span> << accessUpperBound << <span class="stringliteral">"]\n"</span>;</div>
|
|
166
|
+
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <span class="stringliteral">"\t\t Info : \n"</span> << bugInfo.str();</div>
|
|
167
|
+
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <span class="stringliteral">"\t\t Events : \n"</span>;</div>
|
|
168
|
+
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  </div>
|
|
169
|
+
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <span class="keywordflow">for</span>(<span class="keyword">auto</span> event : bugEventStack)</div>
|
|
170
|
+
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  {</div>
|
|
171
|
+
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordflow">switch</span>(event.getEventType())</div>
|
|
172
|
+
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  {</div>
|
|
173
|
+
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="keywordflow">case</span> SVFBugEvent::CallSite:</div>
|
|
174
174
|
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  {</div>
|
|
175
|
-
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> 
|
|
176
|
-
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> 
|
|
177
|
-
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> 
|
|
178
|
-
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> 
|
|
179
|
-
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> 
|
|
180
|
-
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> 
|
|
181
|
-
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span> 
|
|
182
|
-
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> 
|
|
183
|
-
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> 
|
|
184
|
-
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> 
|
|
185
|
-
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> 
|
|
186
|
-
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> 
|
|
187
|
-
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> 
|
|
188
|
-
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> 
|
|
189
|
-
<div class="line"><a name="l00118"></a><span class="lineno"
|
|
190
|
-
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> 
|
|
191
|
-
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> 
|
|
192
|
-
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> 
|
|
193
|
-
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> 
|
|
194
|
-
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> 
|
|
195
|
-
<div class="line"><a name="l00124"></a><span class="lineno"
|
|
196
|
-
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> 
|
|
197
|
-
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> 
|
|
198
|
-
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> 
|
|
199
|
-
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> 
|
|
200
|
-
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> 
|
|
201
|
-
<div class="line"><a name="l00130"></a><span class="lineno"
|
|
202
|
-
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> 
|
|
203
|
-
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <
|
|
204
|
-
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <
|
|
205
|
-
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> 
|
|
206
|
-
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span> 
|
|
207
|
-
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span> 
|
|
208
|
-
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <
|
|
209
|
-
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> 
|
|
210
|
-
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <
|
|
175
|
+
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <span class="stringliteral">"\t\t callsite at : ( "</span> << <span class="keyword">event</span>.getEventLoc() << <span class="stringliteral">" )\n"</span>;</div>
|
|
176
|
+
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordflow">break</span>;</div>
|
|
177
|
+
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  }</div>
|
|
178
|
+
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keywordflow">default</span>:</div>
|
|
179
|
+
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  {</div>
|
|
180
|
+
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="comment">// TODO: implement more events when needed</span></div>
|
|
181
|
+
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordflow">break</span>;</div>
|
|
182
|
+
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  }</div>
|
|
183
|
+
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  }</div>
|
|
184
|
+
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  }</div>
|
|
185
|
+
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> }</div>
|
|
186
|
+
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  </div>
|
|
187
|
+
<div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="classSVF_1_1NeverFreeBug.html#a0e52a0f35ff4d536f2de27a22139e59c"> 116</a></span> <a class="code" href="structcJSON.html">cJSON</a> * NeverFreeBug::getBugDescription()<span class="keyword"> const</span></div>
|
|
188
|
+
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="keyword"></span>{</div>
|
|
189
|
+
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
|
|
190
|
+
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keywordflow">return</span> bugDescription;</div>
|
|
191
|
+
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> }</div>
|
|
192
|
+
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  </div>
|
|
193
|
+
<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classSVF_1_1NeverFreeBug.html#ac20c926cb9a72c5913afcf6877d04791"> 122</a></span> <span class="keywordtype">void</span> NeverFreeBug::printBugToTerminal()<span class="keyword"> const</span></div>
|
|
194
|
+
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="keyword"></span>{</div>
|
|
195
|
+
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <a class="code" href="namespaceSVF_1_1SVFUtil.html#a10504db25b86bc7f74aebb9c54f04cb3">SVFUtil::bugMsg1</a>(<span class="stringliteral">"\t NeverFree :"</span>) << <span class="stringliteral">" memory allocation at : ("</span></div>
|
|
196
|
+
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  << GenericBug::getLoc() << <span class="stringliteral">")\n"</span>;</div>
|
|
197
|
+
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> }</div>
|
|
198
|
+
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  </div>
|
|
199
|
+
<div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="classSVF_1_1PartialLeakBug.html#abd956a30bc4f8b1e25826149d20ea2b5"> 128</a></span> <a class="code" href="structcJSON.html">cJSON</a> * PartialLeakBug::getBugDescription()<span class="keyword"> const</span></div>
|
|
200
|
+
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="keyword"></span>{</div>
|
|
201
|
+
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
|
|
202
|
+
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <a class="code" href="structcJSON.html">cJSON</a> *pathInfo = cJSON_CreateArray();</div>
|
|
203
|
+
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keyword">auto</span> lastBranchEventIt = bugEventStack.end() - 1;</div>
|
|
204
|
+
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="keywordflow">for</span>(<span class="keyword">auto</span> eventIt = bugEventStack.begin(); eventIt != lastBranchEventIt; eventIt++)</div>
|
|
205
|
+
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  {</div>
|
|
206
|
+
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <a class="code" href="structcJSON.html">cJSON</a> *newBranch = cJSON_CreateObject();</div>
|
|
207
|
+
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  <a class="code" href="structcJSON.html">cJSON</a> *branchLoc = cJSON_Parse((*eventIt).getEventLoc().c_str());</div>
|
|
208
|
+
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordflow">if</span>(branchLoc == <span class="keyword">nullptr</span>) branchLoc = cJSON_CreateObject();</div>
|
|
209
|
+
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  </div>
|
|
210
|
+
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <a class="code" href="structcJSON.html">cJSON</a> *branchCondition = cJSON_CreateString((*eventIt).getEventDescription().c_str());</div>
|
|
211
211
|
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  </div>
|
|
212
|
-
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <
|
|
213
|
-
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> 
|
|
214
|
-
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span> 
|
|
215
|
-
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> 
|
|
216
|
-
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span> 
|
|
217
|
-
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span> 
|
|
218
|
-
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span> 
|
|
212
|
+
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  cJSON_AddItemToObject(newBranch, <span class="stringliteral">"BranchLoc"</span>, branchLoc);</div>
|
|
213
|
+
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  cJSON_AddItemToObject(newBranch, <span class="stringliteral">"BranchCond"</span>, branchCondition);</div>
|
|
214
|
+
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  </div>
|
|
215
|
+
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  cJSON_AddItemToArray(pathInfo, newBranch);</div>
|
|
216
|
+
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  }</div>
|
|
217
|
+
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  </div>
|
|
218
|
+
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  cJSON_AddItemToObject(bugDescription, <span class="stringliteral">"ConditionalFreePath"</span>, pathInfo);</div>
|
|
219
219
|
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  </div>
|
|
220
|
-
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> 
|
|
221
|
-
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> 
|
|
222
|
-
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> 
|
|
223
|
-
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span> 
|
|
224
|
-
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> 
|
|
225
|
-
<div class="line"><a name="l00154"></a><span class="lineno"
|
|
226
|
-
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span> 
|
|
227
|
-
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span> 
|
|
228
|
-
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span> 
|
|
229
|
-
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  </div>
|
|
230
|
-
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <
|
|
231
|
-
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span> 
|
|
232
|
-
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> 
|
|
233
|
-
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span> 
|
|
234
|
-
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> 
|
|
235
|
-
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> 
|
|
236
|
-
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> 
|
|
237
|
-
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span> 
|
|
238
|
-
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> 
|
|
239
|
-
<div class="line"><a name="l00168"></a><span class="lineno"
|
|
240
|
-
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> 
|
|
241
|
-
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <a class="code" href="structcJSON.html">cJSON</a> *
|
|
242
|
-
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  </div>
|
|
243
|
-
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <
|
|
244
|
-
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span> 
|
|
245
|
-
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> 
|
|
246
|
-
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> 
|
|
247
|
-
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <
|
|
248
|
-
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <a class="code" href="structcJSON.html">cJSON</a> *
|
|
249
|
-
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> 
|
|
250
|
-
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <
|
|
251
|
-
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span> 
|
|
252
|
-
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> 
|
|
253
|
-
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> 
|
|
254
|
-
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> 
|
|
255
|
-
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> 
|
|
256
|
-
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> 
|
|
257
|
-
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> 
|
|
258
|
-
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> 
|
|
259
|
-
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> 
|
|
260
|
-
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> 
|
|
261
|
-
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> 
|
|
262
|
-
<div class="line"><a name="l00191"></a><span class="lineno"
|
|
263
|
-
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span> 
|
|
264
|
-
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> 
|
|
265
|
-
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> 
|
|
266
|
-
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  </div>
|
|
267
|
-
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <
|
|
268
|
-
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> 
|
|
269
|
-
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span> 
|
|
270
|
-
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> 
|
|
271
|
-
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> 
|
|
272
|
-
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> 
|
|
273
|
-
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> 
|
|
274
|
-
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span> 
|
|
275
|
-
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> 
|
|
276
|
-
<div class="line"><a name="l00205"></a><span class="lineno"
|
|
277
|
-
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span> 
|
|
278
|
-
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> 
|
|
279
|
-
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> 
|
|
280
|
-
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> 
|
|
281
|
-
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> 
|
|
282
|
-
<div class="line"><a name="l00211"></a><span class="lineno"
|
|
283
|
-
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> 
|
|
284
|
-
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> 
|
|
285
|
-
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> 
|
|
286
|
-
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> 
|
|
287
|
-
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> 
|
|
288
|
-
<div class="line"><a name="l00217"></a><span class="lineno"
|
|
289
|
-
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> 
|
|
290
|
-
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <a class="code" href="structcJSON.html">cJSON</a> *
|
|
220
|
+
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">return</span> bugDescription;</div>
|
|
221
|
+
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span> }</div>
|
|
222
|
+
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  </div>
|
|
223
|
+
<div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="classSVF_1_1PartialLeakBug.html#aa3acf06e90939896a86c449260c2e4b4"> 152</a></span> <span class="keywordtype">void</span> PartialLeakBug::printBugToTerminal()<span class="keyword"> const</span></div>
|
|
224
|
+
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="keyword"></span>{</div>
|
|
225
|
+
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <a class="code" href="namespaceSVF_1_1SVFUtil.html#ac25f6dfcc9118ffd80244a771bdee535">SVFUtil::bugMsg2</a>(<span class="stringliteral">"\t PartialLeak :"</span>) << <span class="stringliteral">" memory allocation at : ("</span></div>
|
|
226
|
+
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  << GenericBug::getLoc() << <span class="stringliteral">")\n"</span>;</div>
|
|
227
|
+
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  </div>
|
|
228
|
+
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <span class="stringliteral">"\t\t conditional free path: \n"</span>;</div>
|
|
229
|
+
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="keyword">auto</span> lastBranchEventIt = bugEventStack.end() - 1;</div>
|
|
230
|
+
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="keywordflow">for</span>(<span class="keyword">auto</span> eventIt = bugEventStack.begin(); eventIt != lastBranchEventIt; eventIt++)</div>
|
|
231
|
+
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  {</div>
|
|
232
|
+
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <span class="stringliteral">"\t\t --> ("</span> << (*eventIt).getEventLoc() << <span class="stringliteral">"|"</span> << (*eventIt).getEventDescription() << <span class="stringliteral">") \n"</span>;</div>
|
|
233
|
+
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  }</div>
|
|
234
|
+
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <span class="stringliteral">"\n"</span>;</div>
|
|
235
|
+
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> }</div>
|
|
236
|
+
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  </div>
|
|
237
|
+
<div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="classSVF_1_1DoubleFreeBug.html#acf0d2ffb52d0b322421a5556d41a1d63"> 166</a></span> <a class="code" href="structcJSON.html">cJSON</a> * DoubleFreeBug::getBugDescription()<span class="keyword"> const</span></div>
|
|
238
|
+
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="keyword"></span>{</div>
|
|
239
|
+
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
|
|
240
|
+
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  </div>
|
|
241
|
+
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <a class="code" href="structcJSON.html">cJSON</a> *pathInfo = cJSON_CreateArray();</div>
|
|
242
|
+
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keyword">auto</span> lastBranchEventIt = bugEventStack.end() - 1;</div>
|
|
243
|
+
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="keywordflow">for</span>(<span class="keyword">auto</span> eventIt = bugEventStack.begin(); eventIt != lastBranchEventIt; eventIt++)</div>
|
|
244
|
+
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  {</div>
|
|
245
|
+
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <a class="code" href="structcJSON.html">cJSON</a> *newBranch = cJSON_CreateObject();</div>
|
|
246
|
+
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <a class="code" href="structcJSON.html">cJSON</a> *branchLoc = cJSON_Parse((*eventIt).getEventLoc().c_str());</div>
|
|
247
|
+
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keywordflow">if</span>(branchLoc == <span class="keyword">nullptr</span>) branchLoc = cJSON_CreateObject();</div>
|
|
248
|
+
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <a class="code" href="structcJSON.html">cJSON</a> *branchCondition = cJSON_CreateString((*eventIt).getEventDescription().c_str());</div>
|
|
249
|
+
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  </div>
|
|
250
|
+
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  cJSON_AddItemToObject(newBranch, <span class="stringliteral">"BranchLoc"</span>, branchLoc);</div>
|
|
251
|
+
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  cJSON_AddItemToObject(newBranch, <span class="stringliteral">"BranchCond"</span>, branchCondition);</div>
|
|
252
|
+
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  </div>
|
|
253
|
+
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  cJSON_AddItemToArray(pathInfo, newBranch);</div>
|
|
254
|
+
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  }</div>
|
|
255
|
+
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  cJSON_AddItemToObject(bugDescription, <span class="stringliteral">"DoubleFreePath"</span>, pathInfo);</div>
|
|
256
|
+
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  </div>
|
|
257
|
+
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keywordflow">return</span> bugDescription;</div>
|
|
258
|
+
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> }</div>
|
|
259
|
+
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  </div>
|
|
260
|
+
<div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="classSVF_1_1DoubleFreeBug.html#af67320d8ebd56aec6ecddc3f44ec09b9"> 189</a></span> <span class="keywordtype">void</span> DoubleFreeBug::printBugToTerminal()<span class="keyword"> const</span></div>
|
|
261
|
+
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keyword"></span>{</div>
|
|
262
|
+
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <a class="code" href="namespaceSVF_1_1SVFUtil.html#ac25f6dfcc9118ffd80244a771bdee535">SVFUtil::bugMsg2</a>(<span class="stringliteral">"\t Double Free :"</span>) << <span class="stringliteral">" memory allocation at : ("</span></div>
|
|
263
|
+
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  << GenericBug::getLoc() << <span class="stringliteral">")\n"</span>;</div>
|
|
264
|
+
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  </div>
|
|
265
|
+
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <span class="stringliteral">"\t\t double free path: \n"</span>;</div>
|
|
266
|
+
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="keyword">auto</span> lastBranchEventIt = bugEventStack.end() - 1;</div>
|
|
267
|
+
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keywordflow">for</span>(<span class="keyword">auto</span> eventIt = bugEventStack.begin(); eventIt != lastBranchEventIt; eventIt++)</div>
|
|
268
|
+
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  {</div>
|
|
269
|
+
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <span class="stringliteral">"\t\t --> ("</span> << (*eventIt).getEventLoc() << <span class="stringliteral">"|"</span> << (*eventIt).getEventDescription() << <span class="stringliteral">") \n"</span>;</div>
|
|
270
|
+
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  }</div>
|
|
271
|
+
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <span class="stringliteral">"\n"</span>;</div>
|
|
272
|
+
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> }</div>
|
|
273
|
+
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  </div>
|
|
274
|
+
<div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="classSVF_1_1FileNeverCloseBug.html#a80257bc6a9cf4eecfa402def59993e6e"> 203</a></span> <a class="code" href="structcJSON.html">cJSON</a> * FileNeverCloseBug::getBugDescription()<span class="keyword"> const</span></div>
|
|
275
|
+
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="keyword"></span>{</div>
|
|
276
|
+
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
|
|
277
|
+
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keywordflow">return</span> bugDescription;</div>
|
|
278
|
+
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> }</div>
|
|
279
|
+
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  </div>
|
|
280
|
+
<div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="classSVF_1_1FileNeverCloseBug.html#ae3d9bb5952fa858780ec50148e474388"> 209</a></span> <span class="keywordtype">void</span> FileNeverCloseBug::printBugToTerminal()<span class="keyword"> const</span></div>
|
|
281
|
+
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="keyword"></span>{</div>
|
|
282
|
+
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <a class="code" href="namespaceSVF_1_1SVFUtil.html#a10504db25b86bc7f74aebb9c54f04cb3">SVFUtil::bugMsg1</a>(<span class="stringliteral">"\t FileNeverClose :"</span>) << <span class="stringliteral">" file open location at : ("</span></div>
|
|
283
|
+
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  << GenericBug::getLoc() << <span class="stringliteral">")\n"</span>;</div>
|
|
284
|
+
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> }</div>
|
|
285
|
+
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  </div>
|
|
286
|
+
<div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="classSVF_1_1FilePartialCloseBug.html#a16b96f3c79cf5edae0f0f02e52344283"> 215</a></span> <a class="code" href="structcJSON.html">cJSON</a> * FilePartialCloseBug::getBugDescription()<span class="keyword"> const</span></div>
|
|
287
|
+
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span> <span class="keyword"></span>{</div>
|
|
288
|
+
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
|
|
289
|
+
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  </div>
|
|
290
|
+
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <a class="code" href="structcJSON.html">cJSON</a> *pathInfo = cJSON_CreateArray();</div>
|
|
291
291
|
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  </div>
|
|
292
|
-
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <
|
|
293
|
-
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  </div>
|
|
294
|
-
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span> 
|
|
295
|
-
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> 
|
|
296
|
-
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> 
|
|
297
|
-
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <
|
|
298
|
-
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <a class="code" href="structcJSON.html">cJSON</a> *
|
|
299
|
-
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span> 
|
|
300
|
-
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <
|
|
301
|
-
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> 
|
|
302
|
-
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> 
|
|
303
|
-
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> 
|
|
304
|
-
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> 
|
|
305
|
-
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> 
|
|
306
|
-
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> 
|
|
307
|
-
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span> 
|
|
308
|
-
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> 
|
|
309
|
-
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> 
|
|
310
|
-
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span> 
|
|
311
|
-
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> 
|
|
312
|
-
<div class="line"><a name="l00241"></a><span class="lineno"
|
|
313
|
-
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span> 
|
|
314
|
-
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span> 
|
|
315
|
-
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span> 
|
|
316
|
-
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  </div>
|
|
317
|
-
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <
|
|
318
|
-
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span> 
|
|
319
|
-
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> 
|
|
320
|
-
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span> 
|
|
321
|
-
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span> 
|
|
322
|
-
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> 
|
|
323
|
-
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span> 
|
|
324
|
-
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span> 
|
|
325
|
-
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> 
|
|
326
|
-
<div class="line"><a name="l00255"></a><span class="lineno"
|
|
327
|
-
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> 
|
|
328
|
-
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> 
|
|
329
|
-
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span> 
|
|
330
|
-
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span> 
|
|
331
|
-
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> 
|
|
332
|
-
<div class="line"><a name="l00261"></a><span class="lineno"
|
|
333
|
-
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> 
|
|
334
|
-
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> 
|
|
335
|
-
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span> 
|
|
336
|
-
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> 
|
|
337
|
-
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> 
|
|
338
|
-
<div class="line"><a name="l00267"></a><span class="lineno"
|
|
339
|
-
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span> 
|
|
340
|
-
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> 
|
|
341
|
-
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span> 
|
|
342
|
-
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> 
|
|
343
|
-
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> 
|
|
344
|
-
<div class="line"><a name="l00273"></a><span class="lineno"
|
|
345
|
-
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> 
|
|
346
|
-
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> 
|
|
347
|
-
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> 
|
|
348
|
-
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span> 
|
|
349
|
-
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> 
|
|
350
|
-
<div class="line"><a name="l00279"></a><span class="lineno"
|
|
351
|
-
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> 
|
|
352
|
-
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> 
|
|
353
|
-
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> 
|
|
354
|
-
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> 
|
|
355
|
-
<div class="line"><a name="l00284"></a><span class="lineno"
|
|
356
|
-
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> 
|
|
357
|
-
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span> 
|
|
358
|
-
<div class="line"><a name="l00287"></a><span class="lineno"> 287</span> 
|
|
359
|
-
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> 
|
|
360
|
-
<div class="line"><a name="l00289"></a><span class="lineno"
|
|
361
|
-
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span> 
|
|
362
|
-
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="keywordflow">
|
|
292
|
+
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <span class="keyword">auto</span> lastBranchEventIt = bugEventStack.end() - 1;</div>
|
|
293
|
+
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">for</span>(<span class="keyword">auto</span> eventIt = bugEventStack.begin(); eventIt != lastBranchEventIt; eventIt++)</div>
|
|
294
|
+
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  {</div>
|
|
295
|
+
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <a class="code" href="structcJSON.html">cJSON</a> *newBranch = cJSON_CreateObject();</div>
|
|
296
|
+
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <a class="code" href="structcJSON.html">cJSON</a> *branchLoc = cJSON_Parse((*eventIt).getEventLoc().c_str());</div>
|
|
297
|
+
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <span class="keywordflow">if</span>(branchLoc == <span class="keyword">nullptr</span>) branchLoc = cJSON_CreateObject();</div>
|
|
298
|
+
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <a class="code" href="structcJSON.html">cJSON</a> *branchCondition = cJSON_CreateString((*eventIt).getEventDescription().c_str());</div>
|
|
299
|
+
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  </div>
|
|
300
|
+
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  cJSON_AddItemToObject(newBranch, <span class="stringliteral">"BranchLoc"</span>, branchLoc);</div>
|
|
301
|
+
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  cJSON_AddItemToObject(newBranch, <span class="stringliteral">"BranchCond"</span>, branchCondition);</div>
|
|
302
|
+
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  </div>
|
|
303
|
+
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  cJSON_AddItemToArray(pathInfo, newBranch);</div>
|
|
304
|
+
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  }</div>
|
|
305
|
+
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  cJSON_AddItemToObject(bugDescription, <span class="stringliteral">"ConditionalFileClosePath"</span>, pathInfo);</div>
|
|
306
|
+
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  </div>
|
|
307
|
+
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <span class="keywordflow">return</span> bugDescription;</div>
|
|
308
|
+
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span> }</div>
|
|
309
|
+
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  </div>
|
|
310
|
+
<div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="classSVF_1_1FilePartialCloseBug.html#a32576eee4de3b4c094c3f8a5501c7b99"> 239</a></span> <span class="keywordtype">void</span> FilePartialCloseBug::printBugToTerminal()<span class="keyword"> const</span></div>
|
|
311
|
+
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keyword"></span>{</div>
|
|
312
|
+
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <a class="code" href="namespaceSVF_1_1SVFUtil.html#ac25f6dfcc9118ffd80244a771bdee535">SVFUtil::bugMsg2</a>(<span class="stringliteral">"\t PartialFileClose :"</span>) << <span class="stringliteral">" file open location at : ("</span></div>
|
|
313
|
+
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  << GenericBug::getLoc() << <span class="stringliteral">")\n"</span>;</div>
|
|
314
|
+
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  </div>
|
|
315
|
+
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <span class="stringliteral">"\t\t conditional file close path: \n"</span>;</div>
|
|
316
|
+
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <span class="keyword">auto</span> lastBranchEventIt = bugEventStack.end() - 1;</div>
|
|
317
|
+
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordflow">for</span>(<span class="keyword">auto</span> eventIt = bugEventStack.begin(); eventIt != lastBranchEventIt; eventIt++)</div>
|
|
318
|
+
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  {</div>
|
|
319
|
+
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <span class="stringliteral">"\t\t --> ("</span> << (*eventIt).getEventLoc() << <span class="stringliteral">"|"</span> << (*eventIt).getEventDescription() << <span class="stringliteral">") \n"</span>;</div>
|
|
320
|
+
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  }</div>
|
|
321
|
+
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <span class="stringliteral">"\n"</span>;</div>
|
|
322
|
+
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> }</div>
|
|
323
|
+
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  </div>
|
|
324
|
+
<div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="classSVF_1_1FullNullPtrDereferenceBug.html#a8f057178ee7182d691dbb3103d0d0d43"> 253</a></span> <a class="code" href="structcJSON.html">cJSON</a> *FullNullPtrDereferenceBug::getBugDescription()<span class="keyword"> const</span></div>
|
|
325
|
+
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="keyword"></span>{</div>
|
|
326
|
+
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
|
|
327
|
+
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <span class="keywordflow">return</span> bugDescription;</div>
|
|
328
|
+
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span> }</div>
|
|
329
|
+
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  </div>
|
|
330
|
+
<div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="classSVF_1_1FullNullPtrDereferenceBug.html#ae269f1b62e89f8fcca783865d6ce8723"> 259</a></span> <span class="keywordtype">void</span> FullNullPtrDereferenceBug::printBugToTerminal()<span class="keyword"> const</span></div>
|
|
331
|
+
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="keyword"></span>{</div>
|
|
332
|
+
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <a class="code" href="namespaceSVF_1_1SVFUtil.html#ac25f6dfcc9118ffd80244a771bdee535">SVFUtil::bugMsg2</a>(<span class="stringliteral">"\t FullNullPtrDereference :"</span>) << <span class="stringliteral">" dereference at : ("</span></div>
|
|
333
|
+
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  << GenericBug::getLoc() << <span class="stringliteral">")\n"</span>;</div>
|
|
334
|
+
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> }</div>
|
|
335
|
+
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  </div>
|
|
336
|
+
<div class="line"><a name="l00265"></a><span class="lineno"><a class="line" href="classSVF_1_1PartialNullPtrDereferenceBug.html#a910f2e839e1e722655fbb2266c15f136"> 265</a></span> <a class="code" href="structcJSON.html">cJSON</a> *PartialNullPtrDereferenceBug::getBugDescription()<span class="keyword"> const</span></div>
|
|
337
|
+
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span> <span class="keyword"></span>{</div>
|
|
338
|
+
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <a class="code" href="structcJSON.html">cJSON</a> *bugDescription = cJSON_CreateObject();</div>
|
|
339
|
+
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordflow">return</span> bugDescription;</div>
|
|
340
|
+
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> }</div>
|
|
341
|
+
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  </div>
|
|
342
|
+
<div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="classSVF_1_1PartialNullPtrDereferenceBug.html#acc860880d548ea2cf5b63f0f7ad11456"> 271</a></span> <span class="keywordtype">void</span> PartialNullPtrDereferenceBug::printBugToTerminal()<span class="keyword"> const</span></div>
|
|
343
|
+
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="keyword"></span>{</div>
|
|
344
|
+
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <a class="code" href="namespaceSVF_1_1SVFUtil.html#ab65033f068bfbeb0a1c52dcec3beb6bc">SVFUtil::errs</a>() << <a class="code" href="namespaceSVF_1_1SVFUtil.html#ac25f6dfcc9118ffd80244a771bdee535">SVFUtil::bugMsg2</a>(<span class="stringliteral">"\t PartialNullPtrDereference :"</span>) << <span class="stringliteral">" dereference at : ("</span></div>
|
|
345
|
+
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  << GenericBug::getLoc() << <span class="stringliteral">")\n"</span>;</div>
|
|
346
|
+
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> }</div>
|
|
347
|
+
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  </div>
|
|
348
|
+
<div class="line"><a name="l00277"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBugEvent.html#ad3bcb02563f952edd43ab5a7276bd57d"> 277</a></span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> SVFBugEvent::getFuncName()<span class="keyword"> const</span></div>
|
|
349
|
+
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="keyword"></span>{</div>
|
|
350
|
+
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="keywordflow">return</span> eventInst->getFunction()->getName();</div>
|
|
351
|
+
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> }</div>
|
|
352
|
+
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  </div>
|
|
353
|
+
<div class="line"><a name="l00282"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBugEvent.html#a5b3fcd366e5275927eb66a02dc6040f8"> 282</a></span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> SVFBugEvent::getEventLoc()<span class="keyword"> const</span></div>
|
|
354
|
+
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="keyword"></span>{</div>
|
|
355
|
+
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <span class="keywordflow">return</span> eventInst->getSourceLoc();</div>
|
|
356
|
+
<div class="line"><a name="l00285"></a><span class="lineno"> 285</span> }</div>
|
|
357
|
+
<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  </div>
|
|
358
|
+
<div class="line"><a name="l00287"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBugEvent.html#a7c5d28996f9715d0f90d664b93477a23"> 287</a></span> <span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> SVFBugEvent::getEventDescription()<span class="keyword"> const</span></div>
|
|
359
|
+
<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> <span class="keyword"></span>{</div>
|
|
360
|
+
<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <span class="keywordflow">switch</span>(getEventType())</div>
|
|
361
|
+
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  {</div>
|
|
362
|
+
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="keywordflow">case</span> SVFBugEvent::Branch:</div>
|
|
363
363
|
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  {</div>
|
|
364
|
-
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> 
|
|
365
|
-
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> 
|
|
366
|
-
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> 
|
|
367
|
-
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> 
|
|
368
|
-
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span> 
|
|
369
|
-
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> 
|
|
370
|
-
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span> 
|
|
371
|
-
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span> 
|
|
372
|
-
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> 
|
|
373
|
-
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span> 
|
|
374
|
-
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> 
|
|
375
|
-
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> 
|
|
376
|
-
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> 
|
|
377
|
-
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> 
|
|
378
|
-
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <
|
|
379
|
-
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> 
|
|
380
|
-
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span> 
|
|
381
|
-
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span> 
|
|
382
|
-
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span> 
|
|
383
|
-
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> 
|
|
384
|
-
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span> 
|
|
385
|
-
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span> 
|
|
386
|
-
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span> 
|
|
387
|
-
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> 
|
|
388
|
-
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> 
|
|
389
|
-
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> 
|
|
390
|
-
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> 
|
|
391
|
-
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> 
|
|
392
|
-
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> 
|
|
393
|
-
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> 
|
|
394
|
-
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> 
|
|
395
|
-
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> 
|
|
396
|
-
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> 
|
|
397
|
-
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> 
|
|
398
|
-
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> 
|
|
399
|
-
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> 
|
|
400
|
-
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> 
|
|
401
|
-
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> 
|
|
402
|
-
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> 
|
|
403
|
-
<div class="line"><a name="l00332"></a><span class="lineno"
|
|
404
|
-
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> {</div>
|
|
405
|
-
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> 
|
|
406
|
-
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> 
|
|
407
|
-
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> 
|
|
408
|
-
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> 
|
|
409
|
-
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> 
|
|
410
|
-
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> 
|
|
411
|
-
<div class="line"><a name="l00340"></a><span class="lineno"
|
|
412
|
-
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> 
|
|
413
|
-
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> 
|
|
414
|
-
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> 
|
|
415
|
-
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  {SVFBugEvent::
|
|
416
|
-
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  {SVFBugEvent::
|
|
417
|
-
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> 
|
|
418
|
-
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> 
|
|
419
|
-
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> 
|
|
364
|
+
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <span class="keywordflow">if</span> (typeAndInfoFlag & <a class="code" href="SVFBugReport_8h.html#a6c7cd1f1c2372251f51de3a8392faeec">BRANCHFLAGMASK</a>)</div>
|
|
365
|
+
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  {</div>
|
|
366
|
+
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  <span class="keywordflow">return</span> <span class="stringliteral">"True"</span>;</div>
|
|
367
|
+
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  }</div>
|
|
368
|
+
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <span class="keywordflow">else</span></div>
|
|
369
|
+
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  {</div>
|
|
370
|
+
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <span class="keywordflow">return</span> <span class="stringliteral">"False"</span>;</div>
|
|
371
|
+
<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  }</div>
|
|
372
|
+
<div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keywordflow">break</span>;</div>
|
|
373
|
+
<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  }</div>
|
|
374
|
+
<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <span class="keywordflow">case</span> SVFBugEvent::CallSite:</div>
|
|
375
|
+
<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  {</div>
|
|
376
|
+
<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a> description(<span class="stringliteral">"calls "</span>);</div>
|
|
377
|
+
<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFFunction.html">SVFFunction</a> *callee = <a class="code" href="namespaceSVF_1_1LLVMUtil.html#ad56c48be3ba6ebb95416623256524097">SVFUtil::getCallee</a>(eventInst);</div>
|
|
378
|
+
<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <span class="keywordflow">if</span>(callee == <span class="keyword">nullptr</span>)</div>
|
|
379
|
+
<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  {</div>
|
|
380
|
+
<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  description += <span class="stringliteral">"<unknown>"</span>;</div>
|
|
381
|
+
<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  }</div>
|
|
382
|
+
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <span class="keywordflow">else</span></div>
|
|
383
|
+
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  {</div>
|
|
384
|
+
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  description += callee-><a class="code" href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">getName</a>();</div>
|
|
385
|
+
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  }</div>
|
|
386
|
+
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <span class="keywordflow">return</span> description;</div>
|
|
387
|
+
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <span class="keywordflow">break</span>;</div>
|
|
388
|
+
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  }</div>
|
|
389
|
+
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <span class="keywordflow">case</span> SVFBugEvent::SourceInst:</div>
|
|
390
|
+
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  {</div>
|
|
391
|
+
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keywordflow">return</span> <span class="stringliteral">"None"</span>;</div>
|
|
392
|
+
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  }</div>
|
|
393
|
+
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordflow">default</span>:</div>
|
|
394
|
+
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  {</div>
|
|
395
|
+
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  assert(<span class="keyword">false</span> && <span class="stringliteral">"No such type of event!"</span>);</div>
|
|
396
|
+
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  abort();</div>
|
|
397
|
+
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  }</div>
|
|
398
|
+
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  }</div>
|
|
399
|
+
<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> }</div>
|
|
400
|
+
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  </div>
|
|
401
|
+
<div class="line"><a name="l00330"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBugReport.html#a4e243c7297791b306d970c19abc87ca9"> 330</a></span> SVFBugReport::~SVFBugReport()</div>
|
|
402
|
+
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> {</div>
|
|
403
|
+
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <span class="keywordflow">for</span>(<span class="keyword">auto</span> bugIt: bugSet)</div>
|
|
404
|
+
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  {</div>
|
|
405
|
+
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="keyword">delete</span> bugIt;</div>
|
|
406
|
+
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  }</div>
|
|
407
|
+
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> }</div>
|
|
408
|
+
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  </div>
|
|
409
|
+
<div class="line"><a name="l00338"></a><span class="lineno"><a class="line" href="classSVF_1_1SVFBugReport.html#aa119593331403f73867fddcb6ec26989"> 338</a></span> <span class="keywordtype">void</span> SVFBugReport::dumpToJsonFile(<span class="keyword">const</span> <a class="code" href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">std::string</a>& filePath)<span class="keyword"> const</span></div>
|
|
410
|
+
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="keyword"></span>{</div>
|
|
411
|
+
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  std::map<u32_t, std::string> eventType2Str =</div>
|
|
412
|
+
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  {</div>
|
|
413
|
+
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  {SVFBugEvent::CallSite, <span class="stringliteral">"call site"</span>},</div>
|
|
414
|
+
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  {SVFBugEvent::Caller, <span class="stringliteral">"caller"</span>},</div>
|
|
415
|
+
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  {<a class="code" href="namespaceSVF.html#abf85e29310b2e4df8925d00a5c081314">SVFBugEvent::Loop</a>, <span class="stringliteral">"loop"</span>},</div>
|
|
416
|
+
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  {SVFBugEvent::Branch, <span class="stringliteral">"branch"</span>}</div>
|
|
417
|
+
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  };</div>
|
|
418
|
+
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  </div>
|
|
419
|
+
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  ofstream jsonFile(filePath, ios::out);</div>
|
|
420
420
|
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  </div>
|
|
421
|
-
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> 
|
|
421
|
+
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  jsonFile << <span class="stringliteral">"["</span>;</div>
|
|
422
422
|
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  </div>
|
|
423
|
-
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> 
|
|
424
|
-
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  </div>
|
|
425
|
-
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> 
|
|
426
|
-
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> 
|
|
427
|
-
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> 
|
|
428
|
-
<div class="line"><a name="
|
|
429
|
-
<div class="line"><a name="
|
|
430
|
-
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> 
|
|
431
|
-
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> 
|
|
432
|
-
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  </div>
|
|
433
|
-
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> 
|
|
434
|
-
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> 
|
|
435
|
-
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> 
|
|
436
|
-
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> 
|
|
437
|
-
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> 
|
|
438
|
-
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> 
|
|
439
|
-
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> 
|
|
440
|
-
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> 
|
|
441
|
-
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  cJSON_AddItemToObject(singleBug, <span class="stringliteral">"
|
|
423
|
+
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <span class="keywordtype">size_t</span> commaCounter = bugSet.size() - 1; <span class="comment">// comma num needed</span></div>
|
|
424
|
+
<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  <span class="keywordflow">for</span>(<span class="keyword">auto</span> bugPtr : bugSet)</div>
|
|
425
|
+
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  {</div>
|
|
426
|
+
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <a class="code" href="structcJSON.html">cJSON</a> *singleBug = cJSON_CreateObject();</div>
|
|
427
|
+
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  </div>
|
|
428
|
+
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <a class="code" href="structcJSON.html">cJSON</a> *bugType = cJSON_CreateString(GenericBug::BugType2Str.at(bugPtr->getBugType()).c_str());</div>
|
|
429
|
+
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  cJSON_AddItemToObject(singleBug, <span class="stringliteral">"DefectType"</span>, bugType);</div>
|
|
430
|
+
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  </div>
|
|
431
|
+
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <a class="code" href="structcJSON.html">cJSON</a> *bugLoc = cJSON_Parse(bugPtr->getLoc().c_str());</div>
|
|
432
|
+
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <span class="keywordflow">if</span>(bugLoc == <span class="keyword">nullptr</span>)</div>
|
|
433
|
+
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  {</div>
|
|
434
|
+
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  bugLoc = cJSON_CreateObject();</div>
|
|
435
|
+
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  }</div>
|
|
436
|
+
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  cJSON_AddItemToObject(singleBug, <span class="stringliteral">"Location"</span>, bugLoc);</div>
|
|
437
|
+
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  </div>
|
|
438
|
+
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <a class="code" href="structcJSON.html">cJSON</a> *bugFunction = cJSON_CreateString(bugPtr->getFuncName().c_str());</div>
|
|
439
|
+
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  cJSON_AddItemToObject(singleBug, <span class="stringliteral">"Function"</span>, bugFunction);</div>
|
|
440
|
+
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  </div>
|
|
441
|
+
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  cJSON_AddItemToObject(singleBug, <span class="stringliteral">"Description"</span>, bugPtr->getBugDescription());</div>
|
|
442
442
|
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  </div>
|
|
443
|
-
<div class="line"><a name="
|
|
444
|
-
<div class="line"><a name="
|
|
445
|
-
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <
|
|
446
|
-
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> 
|
|
447
|
-
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span> 
|
|
448
|
-
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span> 
|
|
449
|
-
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span> 
|
|
450
|
-
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span> 
|
|
451
|
-
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span> 
|
|
452
|
-
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> 
|
|
453
|
-
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span> 
|
|
454
|
-
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span> 
|
|
455
|
-
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> 
|
|
456
|
-
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  </div>
|
|
457
|
-
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  <a class="code" href="structcJSON.html">cJSON</a> *
|
|
458
|
-
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  <span class="
|
|
459
|
-
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <
|
|
460
|
-
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> 
|
|
461
|
-
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="
|
|
462
|
-
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  <
|
|
463
|
-
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span> 
|
|
464
|
-
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  <span class="
|
|
465
|
-
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span> 
|
|
466
|
-
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span> 
|
|
467
|
-
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span> 
|
|
468
|
-
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span> 
|
|
469
|
-
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> 
|
|
470
|
-
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> 
|
|
471
|
-
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  <span class="
|
|
472
|
-
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> 
|
|
473
|
-
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span> 
|
|
474
|
-
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span> 
|
|
475
|
-
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> 
|
|
476
|
-
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> 
|
|
477
|
-
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> 
|
|
478
|
-
<div class="line"><a name="
|
|
479
|
-
<div class="line"><a name="
|
|
480
|
-
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  <span class="
|
|
481
|
-
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> 
|
|
482
|
-
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> 
|
|
483
|
-
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> 
|
|
484
|
-
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span> 
|
|
485
|
-
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span> 
|
|
486
|
-
<div class="line"><a name="
|
|
487
|
-
<div class="line"><a name="
|
|
488
|
-
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span> 
|
|
489
|
-
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span> 
|
|
490
|
-
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span> 
|
|
491
|
-
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> 
|
|
492
|
-
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  jsonFile.close();</div>
|
|
493
|
-
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span> }</div>
|
|
443
|
+
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <a class="code" href="structcJSON.html">cJSON</a> *eventList = cJSON_CreateArray();</div>
|
|
444
|
+
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <span class="keyword">const</span> <a class="code" href="classSVF_1_1GenericBug.html#acc65b033bfd61257d5b6fdbf932dfafe">GenericBug::EventStack</a> &bugEventStack = bugPtr->getEventStack();</div>
|
|
445
|
+
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keywordflow">if</span>(BufferOverflowBug::classof(bugPtr))</div>
|
|
446
|
+
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  {</div>
|
|
447
|
+
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="comment">// add only when bug is context sensitive</span></div>
|
|
448
|
+
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <span class="keywordflow">for</span>(<span class="keyword">const</span> <a class="code" href="classSVF_1_1SVFBugEvent.html">SVFBugEvent</a>&event : bugEventStack)</div>
|
|
449
|
+
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  {</div>
|
|
450
|
+
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <span class="keywordflow">if</span> (event.getEventType() == SVFBugEvent::SourceInst)</div>
|
|
451
|
+
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  {</div>
|
|
452
|
+
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <span class="keywordflow">continue</span>;</div>
|
|
453
|
+
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  }</div>
|
|
454
|
+
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  </div>
|
|
455
|
+
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <a class="code" href="structcJSON.html">cJSON</a> *singleEvent = cJSON_CreateObject();</div>
|
|
456
|
+
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <span class="comment">//event type</span></div>
|
|
457
|
+
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  <a class="code" href="structcJSON.html">cJSON</a> *eventType = cJSON_CreateString(eventType2Str[event.getEventType()].c_str());</div>
|
|
458
|
+
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  cJSON_AddItemToObject(singleEvent, <span class="stringliteral">"EventType"</span>, eventType);</div>
|
|
459
|
+
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <span class="comment">//function name</span></div>
|
|
460
|
+
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <a class="code" href="structcJSON.html">cJSON</a> *eventFunc = cJSON_CreateString(event.getFuncName().c_str());</div>
|
|
461
|
+
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  cJSON_AddItemToObject(singleEvent, <span class="stringliteral">"Function"</span>, eventFunc);</div>
|
|
462
|
+
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  <span class="comment">//event loc</span></div>
|
|
463
|
+
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  <a class="code" href="structcJSON.html">cJSON</a> *eventLoc = cJSON_Parse(event.getEventLoc().c_str());</div>
|
|
464
|
+
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  <span class="keywordflow">if</span>(eventLoc == <span class="keyword">nullptr</span>)</div>
|
|
465
|
+
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  {</div>
|
|
466
|
+
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  eventLoc = cJSON_CreateObject();</div>
|
|
467
|
+
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  }</div>
|
|
468
|
+
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  cJSON_AddItemToObject(singleEvent, <span class="stringliteral">"Location"</span>, eventLoc);</div>
|
|
469
|
+
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  <span class="comment">//event description</span></div>
|
|
470
|
+
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <a class="code" href="structcJSON.html">cJSON</a> *eventDescription = cJSON_CreateString(event.getEventDescription().c_str());</div>
|
|
471
|
+
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  cJSON_AddItemToObject(singleEvent, <span class="stringliteral">"Description"</span>, eventDescription);</div>
|
|
472
|
+
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  </div>
|
|
473
|
+
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  cJSON_AddItemToArray(eventList, singleEvent);</div>
|
|
474
|
+
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  }</div>
|
|
475
|
+
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  }</div>
|
|
476
|
+
<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  cJSON_AddItemToObject(singleBug, <span class="stringliteral">"Events"</span>, eventList);</div>
|
|
477
|
+
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  </div>
|
|
478
|
+
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  <span class="keywordtype">char</span> *singleBugStr = cJSON_Print(singleBug);</div>
|
|
479
|
+
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  jsonFile << singleBugStr;</div>
|
|
480
|
+
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  <span class="keywordflow">if</span> (commaCounter != 0)</div>
|
|
481
|
+
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  {</div>
|
|
482
|
+
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  jsonFile << <span class="stringliteral">",\n"</span>;</div>
|
|
483
|
+
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  }</div>
|
|
484
|
+
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  commaCounter --;</div>
|
|
485
|
+
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  </div>
|
|
486
|
+
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  <a class="code" href="cJSON_8cpp.html#afde5c619f31577b3d821b56b23953c85">cJSON_Delete</a>(singleBug);</div>
|
|
487
|
+
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  }</div>
|
|
488
|
+
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  </div>
|
|
489
|
+
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  jsonFile << <span class="stringliteral">"]"</span>;</div>
|
|
490
|
+
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  jsonFile.close();</div>
|
|
491
|
+
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span> }</div>
|
|
494
492
|
</div><!-- fragment --></div><!-- contents -->
|
|
495
493
|
<div class="ttc" id="aclassSVF_1_1SVFValue_html_a2401b022638769f59f86ab424a189b6e"><div class="ttname"><a href="classSVF_1_1SVFValue.html#a2401b022638769f59f86ab424a189b6e">SVF::SVFValue::getName</a></div><div class="ttdeci">const std::string & getName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00216">SVFValue.h:216</a></div></div>
|
|
496
|
-
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_ad56c48be3ba6ebb95416623256524097"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#ad56c48be3ba6ebb95416623256524097">SVF::LLVMUtil::getCallee</a></div><div class="ttdeci">const Function * getCallee(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#
|
|
494
|
+
<div class="ttc" id="anamespaceSVF_1_1LLVMUtil_html_ad56c48be3ba6ebb95416623256524097"><div class="ttname"><a href="namespaceSVF_1_1LLVMUtil.html#ad56c48be3ba6ebb95416623256524097">SVF::LLVMUtil::getCallee</a></div><div class="ttdeci">const Function * getCallee(const CallBase *cs)</div><div class="ttdef"><b>Definition:</b> <a href="LLVMUtil_8h_source.html#l00074">LLVMUtil.h:74</a></div></div>
|
|
497
495
|
<div class="ttc" id="anamespaceSVF_html"><div class="ttname"><a href="namespaceSVF.html">SVF</a></div><div class="ttdoc">for isBitcode</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00065">BasicTypes.h:65</a></div></div>
|
|
498
496
|
<div class="ttc" id="acJSON_8cpp_html_afde5c619f31577b3d821b56b23953c85"><div class="ttname"><a href="cJSON_8cpp.html#afde5c619f31577b3d821b56b23953c85">cJSON_Delete</a></div><div class="ttdeci">cJSON_Delete(null)</div></div>
|
|
499
497
|
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_a10504db25b86bc7f74aebb9c54f04cb3"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#a10504db25b86bc7f74aebb9c54f04cb3">SVF::SVFUtil::bugMsg1</a></div><div class="ttdeci">std::string bugMsg1(const std::string &msg)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00081">SVFUtil.cpp:81</a></div></div>
|
|
@@ -501,15 +499,14 @@ $(function() {
|
|
|
501
499
|
<div class="ttc" id="acJSON_8h_html"><div class="ttname"><a href="cJSON_8h.html">cJSON.h</a></div></div>
|
|
502
500
|
<div class="ttc" id="anamespaceSVF_1_1SVFUtil_html_ac25f6dfcc9118ffd80244a771bdee535"><div class="ttname"><a href="namespaceSVF_1_1SVFUtil.html#ac25f6dfcc9118ffd80244a771bdee535">SVF::SVFUtil::bugMsg2</a></div><div class="ttdeci">std::string bugMsg2(const std::string &msg)</div><div class="ttdef"><b>Definition:</b> <a href="SVFUtil_8cpp_source.html#l00086">SVFUtil.cpp:86</a></div></div>
|
|
503
501
|
<div class="ttc" id="aSVFUtil_8h_html"><div class="ttname"><a href="SVFUtil_8h.html">SVFUtil.h</a></div></div>
|
|
504
|
-
<div class="ttc" id="aclassSVF_1_1SVFBugEvent_html_ad3bcb02563f952edd43ab5a7276bd57d"><div class="ttname"><a href="classSVF_1_1SVFBugEvent.html#ad3bcb02563f952edd43ab5a7276bd57d">SVF::SVFBugEvent::getFuncName</a></div><div class="ttdeci">virtual const std::string getFuncName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8cpp_source.html#
|
|
502
|
+
<div class="ttc" id="aclassSVF_1_1SVFBugEvent_html_ad3bcb02563f952edd43ab5a7276bd57d"><div class="ttname"><a href="classSVF_1_1SVFBugEvent.html#ad3bcb02563f952edd43ab5a7276bd57d">SVF::SVFBugEvent::getFuncName</a></div><div class="ttdeci">virtual const std::string getFuncName() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8cpp_source.html#l00277">SVFBugReport.cpp:277</a></div></div>
|
|
505
503
|
<div class="ttc" id="acJSON_8h_html_ad4c68ea99a26b0a98ad9a79982960458"><div class="ttname"><a href="cJSON_8h.html#ad4c68ea99a26b0a98ad9a79982960458">string</a></div><div class="ttdeci">const char *const string</div><div class="ttdef"><b>Definition:</b> <a href="cJSON_8h_source.html#l00172">cJSON.h:172</a></div></div>
|
|
506
504
|
<div class="ttc" id="aclassSVF_1_1SVFFunction_html"><div class="ttname"><a href="classSVF_1_1SVFFunction.html">SVF::SVFFunction</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFValue_8h_source.html#l00270">SVFValue.h:270</a></div></div>
|
|
507
505
|
<div class="ttc" id="aSVFBugReport_8h_html_a6c7cd1f1c2372251f51de3a8392faeec"><div class="ttname"><a href="SVFBugReport_8h.html#a6c7cd1f1c2372251f51de3a8392faeec">BRANCHFLAGMASK</a></div><div class="ttdeci">#define BRANCHFLAGMASK</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8h_source.html#l00040">SVFBugReport.h:40</a></div></div>
|
|
508
506
|
<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>
|
|
509
507
|
<div class="ttc" id="aSVFBugReport_8h_html"><div class="ttname"><a href="SVFBugReport_8h.html">SVFBugReport.h</a></div></div>
|
|
510
508
|
<div class="ttc" id="anamespaceSVF_html_abf85e29310b2e4df8925d00a5c081314"><div class="ttname"><a href="namespaceSVF.html#abf85e29310b2e4df8925d00a5c081314">SVF::Loop</a></div><div class="ttdeci">llvm::Loop Loop</div><div class="ttdoc">LLVM Loop.</div><div class="ttdef"><b>Definition:</b> <a href="BasicTypes_8h_source.html#l00138">BasicTypes.h:138</a></div></div>
|
|
511
|
-
<div class="ttc" id="
|
|
512
|
-
<div class="ttc" id="aclassSVF_1_1SVFBugEvent_html_a5b3fcd366e5275927eb66a02dc6040f8"><div class="ttname"><a href="classSVF_1_1SVFBugEvent.html#a5b3fcd366e5275927eb66a02dc6040f8">SVF::SVFBugEvent::getEventLoc</a></div><div class="ttdeci">virtual const std::string getEventLoc() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8cpp_source.html#l00284">SVFBugReport.cpp:284</a></div></div>
|
|
509
|
+
<div class="ttc" id="aclassSVF_1_1SVFBugEvent_html_a5b3fcd366e5275927eb66a02dc6040f8"><div class="ttname"><a href="classSVF_1_1SVFBugEvent.html#a5b3fcd366e5275927eb66a02dc6040f8">SVF::SVFBugEvent::getEventLoc</a></div><div class="ttdeci">virtual const std::string getEventLoc() const</div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8cpp_source.html#l00282">SVFBugReport.cpp:282</a></div></div>
|
|
513
510
|
<div class="ttc" id="aclassSVF_1_1SVFBugEvent_html"><div class="ttname"><a href="classSVF_1_1SVFBugEvent.html">SVF::SVFBugEvent</a></div><div class="ttdef"><b>Definition:</b> <a href="SVFBugReport_8h_source.html#l00051">SVFBugReport.h:51</a></div></div>
|
|
514
511
|
<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 & 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>
|
|
515
512
|
<!-- start footer part -->
|