aboutsummaryrefslogtreecommitdiff
path: root/profiling
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 /profiling
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 'profiling')
-rw-r--r--profiling/common/src/SwTrace.cpp5
-rw-r--r--profiling/server/src/basePipeServer/BasePipeServer.cpp6
2 files changed, 10 insertions, 1 deletions
diff --git a/profiling/common/src/SwTrace.cpp b/profiling/common/src/SwTrace.cpp
index 5860d8cf06..c25baadfec 100644
--- a/profiling/common/src/SwTrace.cpp
+++ b/profiling/common/src/SwTrace.cpp
@@ -33,7 +33,10 @@ SwTraceMessage ReadSwTraceMessage(const unsigned char* packetBuffer,
unsigned int& offset,
const unsigned int& packetLength)
{
- ARM_PIPE_ASSERT(packetBuffer);
+ if (packetBuffer == nullptr)
+ {
+ throw ProfilingException("SwTrace.cpp: Attempting to read a null buffer");
+ }
unsigned int uint32_t_size = sizeof(uint32_t);
diff --git a/profiling/server/src/basePipeServer/BasePipeServer.cpp b/profiling/server/src/basePipeServer/BasePipeServer.cpp
index 81f58a5ee9..96e8e24a2c 100644
--- a/profiling/server/src/basePipeServer/BasePipeServer.cpp
+++ b/profiling/server/src/basePipeServer/BasePipeServer.cpp
@@ -207,6 +207,12 @@ bool BasePipeServer::SendPacket(uint32_t packetFamily, uint32_t packetId, const
// And the rest of the data if there is any.
if (dataLength > 0)
{
+ if (data == nullptr)
+ {
+ throw ProfilingException(
+ "basePipeServer: SendPacket: Attempting to send a non-zero length data packet with a null data pointer"
+ );
+ }
memcpy((packet.data() + 8), data, dataLength);
}
EchoPacket(PacketDirection::Sending, packet.data(), packet.size());