diff --git a/.github/workflows/github-action.yml b/.github/workflows/github-action.yml index 343017d65..892172585 100644 --- a/.github/workflows/github-action.yml +++ b/.github/workflows/github-action.yml @@ -26,7 +26,7 @@ jobs: if: runner.os == 'macOS' uses: maxim-lobanov/setup-xcode@v1 with: - xcode-version: 14.2.0 + xcode-version: 14.3.1 - name: mac-setup-workaround if: runner.os == 'macOS' run: | diff --git a/.github/workflows/svf-lib_publish.yml b/.github/workflows/svf-lib_publish.yml index 8fb69aa5c..35687cec2 100644 --- a/.github/workflows/svf-lib_publish.yml +++ b/.github/workflows/svf-lib_publish.yml @@ -26,7 +26,7 @@ jobs: if: runner.os == 'macOS' uses: maxim-lobanov/setup-xcode@v1 with: - xcode-version: 14.2.0 + xcode-version: 14.3.1 - name: mac-setup-workaround if: runner.os == 'macOS' run: | diff --git a/svf/lib/Graphs/VFG.cpp b/svf/lib/Graphs/VFG.cpp index 09ceb9743..0e3e01432 100644 --- a/svf/lib/Graphs/VFG.cpp +++ b/svf/lib/Graphs/VFG.cpp @@ -754,7 +754,9 @@ void VFG::connectDirectVFGEdges() continue; /// for all other cases, like copy/gep/load/ret, connect the RHS pointer to its def if (stmtNode->getPAGSrcNode()->isConstDataOrAggDataButNotNullPtr() == false) - addIntraDirectVFEdge(getDef(stmtNode->getPAGSrcNode()), nodeId); + // for ptr vfg, we skip src node of integer type if it is at a int2ptr copystmt + if(isInterestedPAGNode(stmtNode->getPAGSrcNode())) + addIntraDirectVFEdge(getDef(stmtNode->getPAGSrcNode()), nodeId); if (const GepStmt* gepStmt = SVFUtil::dyn_cast(stmtNode->getPAGEdge())) { for (const auto &varType: gepStmt->getOffsetVarAndGepTypePairVec())