Enable empty salt as input for pbkdf2

Signed-off-by: Kusumit Ghoderao <Kusumit.Ghoderao@silabs.com>
diff --git a/library/psa_crypto.c b/library/psa_crypto.c
index 0373f38..59169d5 100644
--- a/library/psa_crypto.c
+++ b/library/psa_crypto.c
@@ -6449,31 +6449,27 @@
         return PSA_ERROR_BAD_STATE;
     }
 
-    if (data_length != 0) {
-        if (pbkdf2->state == PSA_PBKDF2_STATE_INPUT_COST_SET) {
-            pbkdf2->salt = mbedtls_calloc(1, data_length);
-            if (pbkdf2->salt == NULL) {
-                return PSA_ERROR_INSUFFICIENT_MEMORY;
-            }
-
-            memcpy(pbkdf2->salt, data, data_length);
-            pbkdf2->salt_length = data_length;
-        } else if (pbkdf2->state == PSA_PBKDF2_STATE_SALT_SET) {
-            prev_salt = pbkdf2->salt;
-            prev_salt_length = pbkdf2->salt_length;
-            pbkdf2->salt = mbedtls_calloc(1, data_length + prev_salt_length);
-            if (pbkdf2->salt == NULL) {
-                return PSA_ERROR_INSUFFICIENT_MEMORY;
-            }
-
-            memcpy(pbkdf2->salt, prev_salt, prev_salt_length);
-            memcpy(pbkdf2->salt + prev_salt_length, data,
-                   data_length);
-            pbkdf2->salt_length += data_length;
-            mbedtls_free(prev_salt);
+    if (pbkdf2->state == PSA_PBKDF2_STATE_INPUT_COST_SET) {
+        pbkdf2->salt = mbedtls_calloc(1, data_length);
+        if (pbkdf2->salt == NULL) {
+            return PSA_ERROR_INSUFFICIENT_MEMORY;
         }
-    } else {
-        return PSA_ERROR_INVALID_ARGUMENT;
+
+        memcpy(pbkdf2->salt, data, data_length);
+        pbkdf2->salt_length = data_length;
+    } else if (pbkdf2->state == PSA_PBKDF2_STATE_SALT_SET) {
+        prev_salt = pbkdf2->salt;
+        prev_salt_length = pbkdf2->salt_length;
+        pbkdf2->salt = mbedtls_calloc(1, data_length + prev_salt_length);
+        if (pbkdf2->salt == NULL) {
+            return PSA_ERROR_INSUFFICIENT_MEMORY;
+        }
+
+        memcpy(pbkdf2->salt, prev_salt, prev_salt_length);
+        memcpy(pbkdf2->salt + prev_salt_length, data,
+               data_length);
+        pbkdf2->salt_length += data_length;
+        mbedtls_free(prev_salt);
     }
 
     pbkdf2->state = PSA_PBKDF2_STATE_SALT_SET;