From ad19d0957b3de6e6b7273ca3e78f5e7b0b4a00e2 Mon Sep 17 00:00:00 2001 From: Sourabh Betigeri Date: Tue, 15 Feb 2022 10:27:25 -0800 Subject: [PATCH] SWDEV-315225 - Validates parameters of hipGraphExecMemcpyNodeSetParams() Change-Id: I7bb5c906f6bca27a8abb7f4f5226e864e9731bae --- hipamd/src/hip_graph.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/hipamd/src/hip_graph.cpp b/hipamd/src/hip_graph.cpp index 3f35c1321a..8a9484926d 100644 --- a/hipamd/src/hip_graph.cpp +++ b/hipamd/src/hip_graph.cpp @@ -1032,6 +1032,17 @@ hipError_t hipGraphMemcpyNodeSetParams(hipGraphNode_t node, const hipMemcpy3DPar hipError_t hipGraphExecMemcpyNodeSetParams(hipGraphExec_t hGraphExec, hipGraphNode_t node, hipMemcpy3DParms* pNodeParams) { HIP_INIT_API(hipGraphExecMemcpyNodeSetParams, hGraphExec, node, pNodeParams); + if (hGraphExec == nullptr || node == nullptr) { + HIP_RETURN(hipErrorInvalidValue); + } + if (ihipMemcpy3D_validate(pNodeParams) != hipSuccess) { + HIP_RETURN(hipErrorInvalidValue); + } + // Check if pNodeParams passed is a empty struct + if (((pNodeParams->srcArray == 0) && (pNodeParams->srcPtr.ptr == nullptr)) || + ((pNodeParams->dstArray == 0) && (pNodeParams->dstPtr.ptr == nullptr))) { + return hipErrorInvalidValue; + } hipGraphNode_t clonedNode = hGraphExec->GetClonedNode(node); if (clonedNode == nullptr) { HIP_RETURN(hipErrorInvalidValue);