move base_key init

Signed-off-by: Jerry Yu <jerry.h.yu@arm.com>
diff --git a/library/ssl_tls13_keys.c b/library/ssl_tls13_keys.c
index 6b8f8e1..6f3338c 100644
--- a/library/ssl_tls13_keys.c
+++ b/library/ssl_tls13_keys.c
@@ -655,8 +655,19 @@
     size_t transcript_len;
 
     unsigned char *base_key = NULL;
+    size_t base_key_len = 0;
     mbedtls_ssl_tls13_handshake_secrets *tls13_hs_secrets =
                                             &ssl->handshake->tls13_hs_secrets;
+    if( from == MBEDTLS_SSL_IS_CLIENT )
+    {
+        base_key = tls13_hs_secrets->client_handshake_traffic_secret;
+        base_key_len = sizeof( tls13_hs_secrets->client_handshake_traffic_secret );
+    }
+    else
+    {
+        base_key = tls13_hs_secrets->server_handshake_traffic_secret;
+        base_key_len = sizeof( tls13_hs_secrets->server_handshake_traffic_secret );
+    }
 
     mbedtls_md_type_t const md_type = ssl->handshake->ciphersuite_info->mac;
     const mbedtls_md_info_t* const md_info =
@@ -681,11 +692,6 @@
     }
     MBEDTLS_SSL_DEBUG_BUF( 4, "handshake hash", transcript, transcript_len );
 
-    if( from == MBEDTLS_SSL_IS_CLIENT )
-        base_key = tls13_hs_secrets->client_handshake_traffic_secret;
-    else
-        base_key = tls13_hs_secrets->server_handshake_traffic_secret;
-
     ret = ssl_tls13_calc_finished_core( md_type, base_key, transcript, dst );
     if( ret != 0 )
         goto exit;
@@ -696,16 +702,7 @@
 
 exit:
     /* Erase handshake secrets */
-    if( from == MBEDTLS_SSL_IS_CLIENT )
-    {
-        mbedtls_platform_zeroize( base_key,
-                sizeof( tls13_hs_secrets->client_handshake_traffic_secret ) );
-    }
-    else
-    {
-        mbedtls_platform_zeroize( base_key,
-                sizeof( tls13_hs_secrets->server_handshake_traffic_secret ) );
-    }
+    mbedtls_platform_zeroize( base_key, base_key_len );
     mbedtls_platform_zeroize( transcript, sizeof( transcript ) );
     return( ret );
 }