diff --git a/projects/clr/hipamd/src/hip_graph.cpp b/projects/clr/hipamd/src/hip_graph.cpp index e68e348483..7171670f51 100644 --- a/projects/clr/hipamd/src/hip_graph.cpp +++ b/projects/clr/hipamd/src/hip_graph.cpp @@ -2174,12 +2174,15 @@ hipError_t hipGraphNodeFindInClone(hipGraphNode_t* pNode, hipGraphNode_t origina HIP_RETURN(hipErrorInvalidValue); } hip::Graph* iClonedGraph = reinterpret_cast(clonedGraph); - if (iClonedGraph->getOriginalGraph() == nullptr) { + hip::GraphNode* iGraphnode = reinterpret_cast(originalNode); + if (iClonedGraph->getOriginalGraph() == nullptr || + // parent graph of orig node and original graph of cloned node should be same. + iClonedGraph->getOriginalGraph() != iGraphnode->GetParentGraph()) { HIP_RETURN(hipErrorInvalidValue); } for (auto node : iClonedGraph->GetNodes()) { - if (node->GetID() == reinterpret_cast(originalNode)->GetID()) { + if (node->GetID() == iGraphnode->GetID()) { *pNode = reinterpret_cast(node); HIP_RETURN(hipSuccess); }