Restructure set salt function

Signed-off-by: Kusumit Ghoderao <Kusumit.Ghoderao@silabs.com>
diff --git a/library/psa_crypto.c b/library/psa_crypto.c
index 4cce837..f3699d4 100644
--- a/library/psa_crypto.c
+++ b/library/psa_crypto.c
@@ -6451,18 +6451,18 @@
         memcpy(pbkdf2->salt, data, data_length);
         pbkdf2->salt_length = data_length;
     } else if (pbkdf2->state == PSA_PBKDF2_STATE_SALT_SET) {
-        uint8_t *prev_salt = pbkdf2->salt;
-        size_t prev_salt_length = pbkdf2->salt_length;
+        uint8_t *next_salt;
 
-        pbkdf2->salt = mbedtls_calloc(1, data_length + prev_salt_length);
-        if (pbkdf2->salt == NULL) {
+        next_salt = mbedtls_calloc(1, data_length + pbkdf2->salt_length);
+        if (next_salt == NULL) {
             return PSA_ERROR_INSUFFICIENT_MEMORY;
         }
 
-        memcpy(pbkdf2->salt, prev_salt, prev_salt_length);
-        memcpy(pbkdf2->salt + prev_salt_length, data, data_length);
+        memcpy(next_salt, pbkdf2->salt, pbkdf2->salt_length);
+        memcpy(next_salt + pbkdf2->salt_length, data, data_length);
         pbkdf2->salt_length += data_length;
-        mbedtls_free(prev_salt);
+        mbedtls_free(pbkdf2->salt);
+        pbkdf2->salt = next_salt;
     }
 
     pbkdf2->state = PSA_PBKDF2_STATE_SALT_SET;