Allow NULL as data in storage client if length is 0
NULL data should not be treated as an invalid input if the length is
also 0 in set/get calls of the secure storage client. This can be used
to create an empty storage or check the existence of a storage uid.
Signed-off-by: Imre Kis <imre.kis@arm.com>
Change-Id: I21c3a261913d5c28ca11cf12755d8b1b5570ed7f
diff --git a/components/service/secure_storage/backend/secure_storage_client/secure_storage_client.c b/components/service/secure_storage/backend/secure_storage_client/secure_storage_client.c
index 555a866..9f200bc 100644
--- a/components/service/secure_storage/backend/secure_storage_client/secure_storage_client.c
+++ b/components/service/secure_storage/backend/secure_storage_client/secure_storage_client.c
@@ -32,7 +32,7 @@
(void)client_id;
/* Validating input parameters */
- if (p_data == NULL)
+ if (p_data == NULL && data_length != 0)
return PSA_ERROR_INVALID_ARGUMENT;
request_length = sizeof(*request_desc) + data_length;
@@ -92,7 +92,7 @@
(void)client_id;
/* Validating input parameters */
- if (p_data == NULL)
+ if (p_data == NULL && data_size != 0)
return PSA_ERROR_INVALID_ARGUMENT;
handle = rpc_caller_begin(this_context->client.caller, &request, sizeof(*request_desc));