transport: af-mctp: Ensure malloc() succeeds in *_recv()
Avoid a potential NULL-pointer dereference - don't assume we're
executing under Linux.
Fixes: ba6971b9ae69 ("requester: Add af_mctp transport")
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: Ieb73ace2b981eb94b710000b25e8bed3a6e34e7e
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b63c098..4872744 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -35,6 +35,7 @@
1. transport: register init_pollfd callback for af-mctp
2. transport: fix init_pollfd function parameter
3. transport: Fix doxygen and variables for send and recv functions
+4. transport: af-mctp: Ensure malloc() succeeds in \*\_recv()
## [0.5.0] - 2023-08-09
diff --git a/src/transport/af-mctp.c b/src/transport/af-mctp.c
index 8c7046b..08d8322 100644
--- a/src/transport/af-mctp.c
+++ b/src/transport/af-mctp.c
@@ -101,6 +101,10 @@
}
msg = malloc(length);
+ if (!msg) {
+ return PLDM_REQUESTER_RECV_FAIL;
+ }
+
length = recv(af_mctp->socket, msg, length, MSG_TRUNC);
if (length < (ssize_t)sizeof(struct pldm_msg_hdr)) {
free(msg);