fix various issues

Signed-off-by: Jerry Yu <jerry.h.yu@arm.com>
diff --git a/library/ssl_tls13_server.c b/library/ssl_tls13_server.c
index c50b202..89a718b 100644
--- a/library/ssl_tls13_server.c
+++ b/library/ssl_tls13_server.c
@@ -128,8 +128,6 @@
         return( SSL_TLS1_3_OFFERED_PSK_MATCH );
     }
 
-    /* Add session ticket here */
-
     return( SSL_TLS1_3_OFFERED_PSK_NOT_MATCH );
 }
 
@@ -242,9 +240,10 @@
         identity_len = MBEDTLS_GET_UINT16_BE( p, 0 );
         p += 2;
         identity = p;
-        p += identity_len;
-        p += 4; // skip obfuscated_ticket_age
-        MBEDTLS_SSL_CHK_BUF_READ_PTR( identity, identities_end, identity_len );
+        MBEDTLS_SSL_CHK_BUF_READ_PTR( identity,
+                                      identities_end,
+                                      identity_len + 4  );
+        p += identity_len + 4;
 
         if( identity_matched == SSL_TLS1_3_OFFERED_PSK_MATCH )
             continue;
@@ -258,8 +257,8 @@
     if( identity_matched != SSL_TLS1_3_OFFERED_PSK_MATCH )
     {
         MBEDTLS_SSL_PEND_FATAL_ALERT(
-            MBEDTLS_SSL_ALERT_LEVEL_FATAL,
-            MBEDTLS_SSL_ALERT_MSG_UNKNOWN_PSK_IDENTITY );
+            MBEDTLS_SSL_ALERT_MSG_UNKNOWN_PSK_IDENTITY,
+            MBEDTLS_ERR_SSL_UNKNOWN_IDENTITY );
         return( MBEDTLS_ERR_SSL_UNKNOWN_IDENTITY );
     }
 
@@ -298,7 +297,7 @@
     if( status != PSA_SUCCESS)
     {
         ret = psa_ssl_status_to_mbedtls( status );
-        goto exit_failue;
+        goto exit_failure;
     }
 #else
     psk = ssl->handshake->psk;
@@ -310,9 +309,9 @@
         uint8_t binder_len;
         const unsigned char *binder;
 
-        MBEDTLS_SSL_CHK_BUF_READ_PTR( p, end, 1 );
+        MBEDTLS_SSL_CHK_BUF_READ_PTR( p, binders_end, 1 );
         binder_len = *p++;
-        MBEDTLS_SSL_CHK_BUF_READ_PTR( p, end, binder_len );
+        MBEDTLS_SSL_CHK_BUF_READ_PTR( p, binders_end, binder_len );
         binder = p;
         p += binder_len;
 
@@ -326,10 +325,10 @@
             MBEDTLS_SSL_DEBUG_RET( 1,
                 "ssl_tls13_offered_psks_check_binder_match" , binder_matched );
             MBEDTLS_SSL_PEND_FATAL_ALERT(
-                MBEDTLS_SSL_ALERT_MSG_HANDSHAKE_FAILURE,
+                MBEDTLS_SSL_ALERT_MSG_DECRYPT_ERROR,
                 MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE );
             ret = binder_matched;
-            goto exit_failue;
+            goto exit_failure;
         }
     }
 
@@ -341,7 +340,7 @@
             MBEDTLS_SSL_ALERT_MSG_HANDSHAKE_FAILURE,
             MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE );
         ret = MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE;
-        goto exit_failue;
+        goto exit_failure;
     }
 
     if( p != binders_end )
@@ -350,7 +349,7 @@
         MBEDTLS_SSL_PEND_FATAL_ALERT( MBEDTLS_SSL_ALERT_MSG_DECODE_ERROR,
                                       MBEDTLS_ERR_SSL_DECODE_ERROR );
         ret = MBEDTLS_ERR_SSL_DECODE_ERROR;
-        goto exit_failue;
+        goto exit_failure;
     }
 
     /* Update the handshake transcript with the binder list. */
@@ -359,7 +358,7 @@
                                      (size_t)( p - identities_end ) );
     ret = 0;
 
-exit_failue:
+exit_failure:
 #if defined(MBEDTLS_USE_PSA_CRYPTO)
     mbedtls_free( (void *)psk );
 #endif