diff --git a/library/ssl_misc.h b/library/ssl_misc.h
index a669da6..6af9964 100644
--- a/library/ssl_misc.h
+++ b/library/ssl_misc.h
@@ -2035,8 +2035,9 @@
  *                                  0 - default tag length
  * \param  alg                 [out] corresponding PSA alg
  *                                   There is no corresponding PSA
- *                                   alg for MBEDTLS_SSL_NULL_CIPHER, so
- *                                   MBEDTLS_SSL_NULL_CIPHER is returned
+ *                                   alg for MBEDTLS_CIPHER_NULL, so
+ *                                   in this case MBEDTLS_SSL_NULL_CIPHER
+ *                                   is returned via this parameter
  * \param  key_type            [out] corresponding PSA key type
  * \param  key_size            [out] corresponding PSA key size
  *
diff --git a/library/ssl_msg.c b/library/ssl_msg.c
index a0a3e44..a737099 100644
--- a/library/ssl_msg.c
+++ b/library/ssl_msg.c
@@ -5103,12 +5103,12 @@
         transform_expansion += transform->maclen;
 
         /* Expansion due to the addition of CBC padding;
-            * Theoretically up to 256 bytes, but we never use
-            * more than the block size of the underlying cipher. */
+         * Theoretically up to 256 bytes, but we never use
+         * more than the block size of the underlying cipher. */
         transform_expansion += block_size;
 
         /* For TLS 1.2 or higher, an explicit IV is added
-            * after the record header. */
+         * after the record header. */
 #if defined(MBEDTLS_SSL_PROTO_TLS1_2)
         transform_expansion += block_size;
 #endif /* MBEDTLS_SSL_PROTO_TLS1_2 */
diff --git a/library/ssl_srv.c b/library/ssl_srv.c
index 2512c47..522e59e 100644
--- a/library/ssl_srv.c
+++ b/library/ssl_srv.c
@@ -2058,7 +2058,8 @@
     if( ( suite = mbedtls_ssl_ciphersuite_from_id(
                     ssl->session_negotiate->ciphersuite ) ) == NULL ||
 #if defined(MBEDTLS_USE_PSA_CRYPTO)
-        ( mbedtls_ssl_cipher_to_psa( suite->cipher, 0, &alg, &key_type, &key_bits ) != PSA_SUCCESS) ||
+        ( mbedtls_ssl_cipher_to_psa( suite->cipher, 0, &alg,
+                            &key_type, &key_bits ) != PSA_SUCCESS ) ||
         alg != PSA_ALG_CBC_NO_PADDING )
 #else
         ( cipher = mbedtls_cipher_info_from_type( suite->cipher ) ) == NULL ||
