You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I created a class inherited from the class SrcSnkDDA and override the initSrcs() method by looking for the store statements and checking if the source node of the store statement is a constant or not as follows.
for (auto pair: pag->getIcfgNode2SVFStmtsMap()) {
for (auto* stmt: pair.second) {
if (auto* storeStmt = SVFUtil::dyn_cast<StoreStmt>(stmt)) {
auto* value = storeStmt->getRHSVar()->getValue();
if (SVFUtil::isa<SVFConstantInt>(value)) {
auto* svfgNode1 = svfg->getDefSVFGNode(storeStmt->getRHSVar()); // No svfgNode.
auto* svfgNode2 = svfg->getStmtVFGNode(storeStmt); // No svfgNode.
if (svfgNode1 != nullptr) {
addToSources(svfgNode1);
}
}
}
}
}
But it turned out that the svfg nodes of both the constant variable (storeStmt->getRHSVar()) and the store statement cannot be found.
Is it normal that constant variables and their store statements have no corresponding svfg nodes? How to use the SrcSnkDDA checker to check if a constant value flows into a specific variable?
Thanks for answering.
The text was updated successfully, but these errors were encountered:
I created a class inherited from the class SrcSnkDDA and override the initSrcs() method by looking for the store statements and checking if the source node of the store statement is a constant or not as follows.
But it turned out that the svfg nodes of both the constant variable (storeStmt->getRHSVar()) and the store statement cannot be found.
Is it normal that constant variables and their store statements have no corresponding svfg nodes? How to use the SrcSnkDDA checker to check if a constant value flows into a specific variable?
Thanks for answering.
The text was updated successfully, but these errors were encountered: