diff options
author | David Monahan <david.monahan@arm.com> | 2023-08-29 09:10:50 +0100 |
---|---|---|
committer | David Monahan <david.monahan@arm.com> | 2023-09-08 10:55:19 +0000 |
commit | 6a1d506cb0619c6bcf8685ada56ddf4507c2f2d4 (patch) | |
tree | be43f5514cf38e06b6dae01886023915dd302eee /samples | |
parent | 564c13dc098eb9353ac15e2609712ab8db9bf350 (diff) | |
download | armnn-6a1d506cb0619c6bcf8685ada56ddf4507c2f2d4.tar.gz |
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 <david.monahan@arm.com>
Change-Id: I9529acd966466ba281f88918be2ec372a756e183
Diffstat (limited to 'samples')
-rw-r--r-- | samples/ObjectDetection/include/delegate/ArmnnNetworkExecutor.hpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/samples/ObjectDetection/include/delegate/ArmnnNetworkExecutor.hpp b/samples/ObjectDetection/include/delegate/ArmnnNetworkExecutor.hpp index 557ec8a8ac..9c8583e8ea 100644 --- a/samples/ObjectDetection/include/delegate/ArmnnNetworkExecutor.hpp +++ b/samples/ObjectDetection/include/delegate/ArmnnNetworkExecutor.hpp @@ -151,18 +151,24 @@ ArmnnNetworkExecutor<Tout>::ArmnnNetworkExecutor(std::string& modelPath, } template<typename Tout> -void ArmnnNetworkExecutor<Tout>::PrepareTensors(const void *inputData, const size_t dataBytes) +void ArmnnNetworkExecutor<Tout>::PrepareTensors(const void* inputData, const size_t dataBytes) { size_t inputTensorSize = m_interpreter->input_tensor(0)->bytes; auto * inputTensorPtr = m_interpreter->input_tensor(0)->data.raw; assert(inputTensorSize >= dataBytes); + if (inputData == nullptr) + { + const std::string errorMessage{"ArmnnNetworkExecutor: input data pointer is null"}; + ARMNN_LOG(error) << errorMessage; + throw armnn::Exception(errorMessage); + } if (inputTensorPtr != nullptr) { memcpy(inputTensorPtr, inputData, inputTensorSize); } else { - const std::string errorMessage{"ArmnnNetworkExecutor: input tensor is null"}; + const std::string errorMessage{"ArmnnNetworkExecutor: input tensor pointer is null"}; ARMNN_LOG(error) << errorMessage; throw armnn::Exception(errorMessage); } |