From 6a1d506cb0619c6bcf8685ada56ddf4507c2f2d4 Mon Sep 17 00:00:00 2001 From: David Monahan Date: Tue, 29 Aug 2023 09:10:50 +0100 Subject: IVGCVSW-7901 Fix unsafe Usages of Memcpy in Armnn * Updated usages of Memcpy to use proper checks for null instead of asserts * Added error checking in places where none existed Signed-off-by: David Monahan Change-Id: I9529acd966466ba281f88918be2ec372a756e183 --- src/backends/backendsCommon/WorkloadUtils.cpp | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'src/backends/backendsCommon/WorkloadUtils.cpp') diff --git a/src/backends/backendsCommon/WorkloadUtils.cpp b/src/backends/backendsCommon/WorkloadUtils.cpp index 3aea667bfe..28d01ec127 100644 --- a/src/backends/backendsCommon/WorkloadUtils.cpp +++ b/src/backends/backendsCommon/WorkloadUtils.cpp @@ -18,8 +18,14 @@ namespace armnn armnn::ConstTensor PermuteTensor(const ConstTensorHandle* tensor, const PermutationVector& permutationVector, void* permuteBuffer) { - ARMNN_ASSERT_MSG(tensor, "Invalid input tensor"); - ARMNN_ASSERT_MSG(permuteBuffer, "Invalid permute buffer"); + if (tensor == nullptr) + { + throw armnn::InvalidArgumentException("WorkloadUtils: PermuteTensor: Null input tensor pointer"); + } + if (permuteBuffer == nullptr) + { + throw armnn::InvalidArgumentException("WorkloadUtils: PermuteTensor: Null permute buffer pointer"); + } TensorInfo tensorInfo = tensor->GetTensorInfo(); @@ -231,8 +237,14 @@ armnn::ConstTensor ConvertWeightTensorFromArmnnToAcl(const ConstTensorHandle* we DataLayout dataLayout, void* permuteBuffer) { - ARMNN_ASSERT_MSG(weightTensor, "Invalid input tensor"); - ARMNN_ASSERT_MSG(permuteBuffer, "Invalid permute buffer"); + if (weightTensor == nullptr) + { + throw armnn::InvalidArgumentException("WorkloadUtils: PermuteTensor: Null input tensor pointer"); + } + if (permuteBuffer == nullptr) + { + throw armnn::InvalidArgumentException("WorkloadUtils: PermuteTensor: Null permute buffer pointer"); + } auto multiplier = weightTensor->GetTensorInfo().GetShape()[0]; auto inputChannels = weightTensor->GetTensorInfo().GetShape()[1]; -- cgit v1.2.1