Handle empty other secret when passed with input bytes

Signed-off-by: Przemek Stekiel <przemyslaw.stekiel@mobica.com>
diff --git a/library/psa_crypto.c b/library/psa_crypto.c
index e78fb9d..2634b56 100644
--- a/library/psa_crypto.c
+++ b/library/psa_crypto.c
@@ -5243,6 +5243,10 @@
         memcpy( prf->other_secret, data, data_length );
         prf->other_secret_length = data_length;
     }
+    else
+    {
+        prf->other_secret_length = 0;
+    }
 
     prf->state = PSA_TLS12_PRF_STATE_OTHER_KEY_SET;
 
@@ -5332,8 +5336,11 @@
     {
         *cur++ = MBEDTLS_BYTE_1( prf->other_secret_length );
         *cur++ = MBEDTLS_BYTE_0( prf->other_secret_length );
-        memcpy( cur, prf->other_secret, prf->other_secret_length );
-        cur += prf->other_secret_length;
+        if ( prf->other_secret_length != 0 )
+        {
+            memcpy( cur, prf->other_secret, prf->other_secret_length );
+            cur += prf->other_secret_length;
+        }
     }
     else
     {