aboutsummaryrefslogtreecommitdiff
path: root/samples
diff options
context:
space:
mode:
authorDavid Monahan <david.monahan@arm.com>2023-08-29 09:10:50 +0100
committerDavid Monahan <david.monahan@arm.com>2023-09-08 10:55:19 +0000
commit6a1d506cb0619c6bcf8685ada56ddf4507c2f2d4 (patch)
treebe43f5514cf38e06b6dae01886023915dd302eee /samples
parent564c13dc098eb9353ac15e2609712ab8db9bf350 (diff)
downloadarmnn-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.hpp10
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);
}