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 /src/backends/tosaReference | |
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 'src/backends/tosaReference')
-rw-r--r-- | src/backends/tosaReference/TosaRefTensorHandle.cpp | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/src/backends/tosaReference/TosaRefTensorHandle.cpp b/src/backends/tosaReference/TosaRefTensorHandle.cpp index 38d02f1bb6..aaffc8ab6c 100644 --- a/src/backends/tosaReference/TosaRefTensorHandle.cpp +++ b/src/backends/tosaReference/TosaRefTensorHandle.cpp @@ -100,16 +100,30 @@ void* TosaRefTensorHandle::GetPointer() const void TosaRefTensorHandle::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("TosaRefTensorHandle::CopyOutTo called with a null src pointer"); + } + if (dest == nullptr) + { + throw NullPointerException("TosaRefTensorHandle::CopyOutTo called with a null dest pointer"); + } + memcpy(dest, src, GetTensorInfo().GetNumBytes()); } void TosaRefTensorHandle::CopyInFrom(const void* src) { - void *dest = GetPointer(); - ARMNN_ASSERT(dest); - memcpy(dest, src, m_TensorInfo.GetNumBytes()); + void* dest = GetPointer(); + if (dest == nullptr) + { + throw NullPointerException("TosaRefTensorHandle::CopyInFrom called with a null dest pointer"); + } + if (src == nullptr) + { + throw NullPointerException("TosaRefTensorHandle::CopyInFrom called with a null src pointer"); + } + memcpy(dest, src, GetTensorInfo().GetNumBytes()); } bool TosaRefTensorHandle::Import(void* memory, MemorySource source) |