tfm_spe_mailbox: Fix NULL pointer checks
in/out vectors can be NULL as long as size is 0.
Change-Id: Ie4c03b01224260001600b94aa22886f6d8cd62e7
Signed-off-by: Bohdan Hunko <Bohdan.Hunko@infineon.com>
diff --git a/secure_fw/partitions/ns_agent_mailbox/tfm_spe_mailbox.c b/secure_fw/partitions/ns_agent_mailbox/tfm_spe_mailbox.c
index 853d112..c288ca3 100644
--- a/secure_fw/partitions/ns_agent_mailbox/tfm_spe_mailbox.c
+++ b/secure_fw/partitions/ns_agent_mailbox/tfm_spe_mailbox.c
@@ -180,14 +180,14 @@
{
size_t in_len, out_len;
- if ((params->psa_call_params.out_vec == NULL) ||
- (params->psa_call_params.in_vec == NULL)) {
- return MAILBOX_INVAL_PARAMS;
- }
-
in_len = params->psa_call_params.in_len;
out_len = params->psa_call_params.out_len;
+ if (((params->psa_call_params.out_vec == NULL) && (out_len != 0)) ||
+ ((params->psa_call_params.in_vec == NULL) && (in_len != 0))) {
+ return MAILBOX_INVAL_PARAMS;
+ }
+
if ((in_len > PSA_MAX_IOVEC) ||
(out_len > PSA_MAX_IOVEC) ||
((in_len + out_len) > PSA_MAX_IOVEC)) {