diff --git a/include/mbedtls/ssl.h b/include/mbedtls/ssl.h
index c867e02..f537e86 100644
--- a/include/mbedtls/ssl.h
+++ b/include/mbedtls/ssl.h
@@ -3038,7 +3038,7 @@
  * \param conf     The SSL configuration to use.
  * \param sig_algs List of allowed IANA values for TLS 1.3 signature algorithms,
  *                 terminated by \c MBEDTLS_TLS13_SIG_NONE. The list must remain
- *                 available throughout the liftime of the conf object. Supported
+ *                 available throughout the lifetime of the conf object. Supported
  *                 values are available as \c MBEDTLS_TLS13_SIG_XXXX
  */
 void mbedtls_ssl_conf_sig_algs( mbedtls_ssl_config *conf,
diff --git a/programs/ssl/ssl_client2.c b/programs/ssl/ssl_client2.c
index 08f9934..1400961 100644
--- a/programs/ssl/ssl_client2.c
+++ b/programs/ssl/ssl_client2.c
@@ -1482,7 +1482,7 @@
         p = (char *) opt.sig_algs;
         i = 0;
 
-        /* Leave room for a final MBEDTLS_TLS13_SIG_NONE in signature algorithm list(sig_alg_list) */
+        /* Leave room for a final MBEDTLS_TLS13_SIG_NONE in signature algorithm list (sig_alg_list). */
         while( i < SIG_ALG_LIST_SIZE - 1 && *p != '\0' )
         {
             q = p;
diff --git a/programs/ssl/ssl_server2.c b/programs/ssl/ssl_server2.c
index d5ec6a7..b9a789e 100644
--- a/programs/ssl/ssl_server2.c
+++ b/programs/ssl/ssl_server2.c
@@ -2205,7 +2205,7 @@
         p = (char *) opt.sig_algs;
         i = 0;
 
-        /* Leave room for a final MBEDTLS_TLS13_SIG_NONE in signature algorithm list(sig_alg_list) */
+        /* Leave room for a final MBEDTLS_TLS13_SIG_NONE in signature algorithm list (sig_alg_list). */
         while( i < SIG_ALG_LIST_SIZE - 1 && *p != '\0' )
         {
             q = p;
