aboutsummaryrefslogtreecommitdiff
path: root/src/backends/reference/RefTensorHandle.cpp
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 /src/backends/reference/RefTensorHandle.cpp
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 'src/backends/reference/RefTensorHandle.cpp')
-rw-r--r--src/backends/reference/RefTensorHandle.cpp26
1 files changed, 20 insertions, 6 deletions
diff --git a/src/backends/reference/RefTensorHandle.cpp b/src/backends/reference/RefTensorHandle.cpp
index cce992c947..07f497c54e 100644
--- a/src/backends/reference/RefTensorHandle.cpp
+++ b/src/backends/reference/RefTensorHandle.cpp
@@ -101,16 +101,30 @@ void* RefTensorHandle::GetPointer() const
void RefTensorHandle::CopyOutTo(void* dest) const
{
- const void *src = GetPointer();
- ARMNN_ASSERT(src);
- memcpy(dest, src, m_TensorInfo.GetNumBytes());
+ const void* src = GetPointer();
+ if (src == nullptr)
+ {
+ throw NullPointerException("TensorHandle::CopyOutTo called with a null src pointer");
+ }
+ if (dest == nullptr)
+ {
+ throw NullPointerException("TensorHandle::CopyOutTo called with a null dest pointer");
+ }
+ memcpy(dest, src, GetTensorInfo().GetNumBytes());
}
void RefTensorHandle::CopyInFrom(const void* src)
{
- void *dest = GetPointer();
- ARMNN_ASSERT(dest);
- memcpy(dest, src, m_TensorInfo.GetNumBytes());
+ void* dest = GetPointer();
+ if (dest == nullptr)
+ {
+ throw NullPointerException("RefTensorHandle::CopyInFrom called with a null dest pointer");
+ }
+ if (src == nullptr)
+ {
+ throw NullPointerException("RefTensorHandle::CopyInFrom called with a null src pointer");
+ }
+ memcpy(dest, src, GetTensorInfo().GetNumBytes());
}
MemorySourceFlags RefTensorHandle::GetImportFlags() const