Remove frame/pk parameter from mbedtls_x509_crt_xxx_release()
diff --git a/library/debug.c b/library/debug.c
index 41769ec..b02a4f8 100644
--- a/library/debug.c
+++ b/library/debug.c
@@ -402,7 +402,7 @@
             return;
         }
         debug_print_pk( ssl, level, file, line, "crt->", pk );
-        mbedtls_x509_crt_pk_release( crt, pk );
+        mbedtls_x509_crt_pk_release( crt );
 
         crt = crt->next;
     }
diff --git a/library/ssl_cli.c b/library/ssl_cli.c
index 07e15c4..c3c28c7 100644
--- a/library/ssl_cli.c
+++ b/library/ssl_cli.c
@@ -2378,7 +2378,7 @@
     /* We don't need the peer's public key anymore. Free it. */
     mbedtls_pk_free( peer_pk );
 #else
-    mbedtls_x509_crt_pk_release( ssl->session_negotiate->peer_cert, peer_pk );
+    mbedtls_x509_crt_pk_release( ssl->session_negotiate->peer_cert );
 #endif /* MBEDTLS_SSL_KEEP_PEER_CERTIFICATE */
 
     return( ret );
@@ -2509,7 +2509,7 @@
      * operations like ECDHE. */
     mbedtls_pk_free( peer_pk );
 #else
-    mbedtls_x509_crt_pk_release( ssl->session_negotiate->peer_cert, peer_pk );
+    mbedtls_x509_crt_pk_release( ssl->session_negotiate->peer_cert );
 #endif /* MBEDTLS_SSL_KEEP_PEER_CERTIFICATE */
 
     return( ret );
@@ -2837,8 +2837,7 @@
             mbedtls_ssl_send_alert_message( ssl, MBEDTLS_SSL_ALERT_LEVEL_FATAL,
                                             MBEDTLS_SSL_ALERT_MSG_HANDSHAKE_FAILURE );
 #if defined(MBEDTLS_SSL_KEEP_PEER_CERTIFICATE)
-            mbedtls_x509_crt_pk_release( ssl->session_negotiate->peer_cert,
-                                         peer_pk );
+            mbedtls_x509_crt_pk_release( ssl->session_negotiate->peer_cert );
 #endif /* MBEDTLS_SSL_KEEP_PEER_CERTIFICATE */
             return( MBEDTLS_ERR_SSL_PK_TYPE_MISMATCH );
         }
@@ -2862,8 +2861,7 @@
                 ret = MBEDTLS_ERR_SSL_CRYPTO_IN_PROGRESS;
 #endif
 #if defined(MBEDTLS_SSL_KEEP_PEER_CERTIFICATE)
-            mbedtls_x509_crt_pk_release( ssl->session_negotiate->peer_cert,
-                                         peer_pk );
+            mbedtls_x509_crt_pk_release( ssl->session_negotiate->peer_cert );
 #endif /* MBEDTLS_SSL_KEEP_PEER_CERTIFICATE */
             return( ret );
         }
@@ -2874,8 +2872,7 @@
          * operations like ECDHE. */
         mbedtls_pk_free( peer_pk );
 #else
-        mbedtls_x509_crt_pk_release( ssl->session_negotiate->peer_cert,
-                                     peer_pk );
+        mbedtls_x509_crt_pk_release( ssl->session_negotiate->peer_cert );
 #endif /* MBEDTLS_SSL_KEEP_PEER_CERTIFICATE */
     }
 #endif /* MBEDTLS_KEY_EXCHANGE__WITH_SERVER_SIGNATURE__ENABLED */
diff --git a/library/ssl_srv.c b/library/ssl_srv.c
index 6757e2a..1fd1d31 100644
--- a/library/ssl_srv.c
+++ b/library/ssl_srv.c
@@ -840,7 +840,7 @@
 #endif
 
 #if defined(MBEDTLS_SSL_ASYNC_PRIVATE)
-        mbedtls_x509_crt_pk_release( cur->cert, pk );
+        mbedtls_x509_crt_pk_release( cur->cert );
 #endif /* MBEDTLS_SSL_ASYNC_PRIVATE */
 
          if( match == 0 )
@@ -879,7 +879,7 @@
                 if( ret != 0 )
                     return( ret );
                 sig_md = frame->sig_md;
-                mbedtls_x509_crt_frame_release( cur->cert, frame );
+                mbedtls_x509_crt_frame_release( cur->cert );
             }
 
             if( sig_md != MBEDTLS_MD_SHA1 )
@@ -3008,7 +3008,7 @@
                 (size_t)( end - p ) < 2 + dn_size )
             {
                 MBEDTLS_SSL_DEBUG_MSG( 1, ( "skipping CAs: buffer too short" ) );
-                mbedtls_x509_crt_frame_release( crt, frame );
+                mbedtls_x509_crt_frame_release( crt );
                 break;
             }
 
@@ -3021,7 +3021,7 @@
 
             total_dn_size += 2 + dn_size;
 
-            mbedtls_x509_crt_frame_release( crt, frame );
+            mbedtls_x509_crt_frame_release( crt );
 
             crt = crt->next;
         }
@@ -4407,8 +4407,7 @@
 exit:
 
 #if defined(MBEDTLS_SSL_KEEP_PEER_CERTIFICATE)
-    mbedtls_x509_crt_pk_release( ssl->session_negotiate->peer_cert,
-                                 peer_pk );
+    mbedtls_x509_crt_pk_release( ssl->session_negotiate->peer_cert );
 #endif /* MBEDTLS_SSL_KEEP_PEER_CERTIFICATE */
 
     return( ret );
diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index 4a3c9fe..560ef4c 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -6513,7 +6513,7 @@
         if( mbedtls_pk_can_do( pk, MBEDTLS_PK_ECKEY ) )
             ret = mbedtls_ssl_check_curve( ssl, mbedtls_pk_ec( *pk )->grp.id );
 
-        mbedtls_x509_crt_pk_release( chain, pk );
+        mbedtls_x509_crt_pk_release( chain );
 
         if( ret != 0 )
         {
diff --git a/library/x509_crt.c b/library/x509_crt.c
index 04b227a..b5710ed 100644
--- a/library/x509_crt.c
+++ b/library/x509_crt.c
@@ -260,7 +260,7 @@
     else
         ret = x509_crt_subject_alt_from_frame( frame, seq );
 
-    mbedtls_x509_crt_frame_release( crt, frame );
+    mbedtls_x509_crt_frame_release( crt );
 
     *subj_alt = seq;
     return( ret );
@@ -283,7 +283,7 @@
     else
         ret = x509_crt_ext_key_usage_from_frame( frame, seq );
 
-    mbedtls_x509_crt_frame_release( crt, frame );
+    mbedtls_x509_crt_frame_release( crt );
 
     *ext_key_usage = seq;
     return( ret );
@@ -306,7 +306,7 @@
     else
         ret = x509_crt_subject_from_frame( frame, name );
 
-    mbedtls_x509_crt_frame_release( crt, frame );
+    mbedtls_x509_crt_frame_release( crt );
 
     *subject = name;
     return( ret );
@@ -329,7 +329,7 @@
     else
         ret = x509_crt_issuer_from_frame( frame, name );
 
-    mbedtls_x509_crt_frame_release( crt, frame );
+    mbedtls_x509_crt_frame_release( crt );
 
     *issuer = name;
     return( ret );
@@ -344,7 +344,7 @@
     if( ret != 0 )
         return( ret );
     *dst = *frame;
-    mbedtls_x509_crt_frame_release( crt, frame );
+    mbedtls_x509_crt_frame_release( crt );
     return( 0 );
 }
 
@@ -369,7 +369,7 @@
     mbedtls_free( crt->cache->pk );
     crt->cache->pk = NULL;
 
-    mbedtls_x509_crt_pk_release( crt, pk );
+    mbedtls_x509_crt_pk_release( crt );
     return( 0 );
 #endif /* MBEDTLS_X509_ON_DEMAND_PARSING */
 }
@@ -2379,13 +2379,12 @@
 {
     int ret;
     mbedtls_x509_crt_frame *frame;
-    ret = mbedtls_x509_crt_frame_acquire( crt,
-                                          (mbedtls_x509_crt_frame**) &frame );
+    ret = mbedtls_x509_crt_frame_acquire( crt, &frame );
     if( ret != 0 )
         return( MBEDTLS_ERR_X509_FATAL_ERROR );
 
     ret = x509_crt_check_key_usage_frame( frame, usage );
-    mbedtls_x509_crt_frame_release( crt, (mbedtls_x509_crt_frame*) frame );
+    mbedtls_x509_crt_frame_release( crt );
 
     return( ret );
 }
@@ -2453,7 +2452,7 @@
             ret = MBEDTLS_ERR_X509_BAD_INPUT_DATA;
     }
 
-    mbedtls_x509_crt_frame_release( crt, frame );
+    mbedtls_x509_crt_frame_release( crt );
     return( ret );
 }
 #endif /* MBEDTLS_X509_CHECK_EXTENDED_KEY_USAGE */
@@ -2496,7 +2495,7 @@
     ret = x509_serial_is_revoked( frame->serial.p,
                                   frame->serial.len,
                                   crl );
-    mbedtls_x509_crt_frame_release( crt, frame );
+    mbedtls_x509_crt_frame_release( crt );
     return( ret );
 }
 
@@ -2536,7 +2535,7 @@
             can_sign = 1;
         }
 
-        mbedtls_x509_crt_frame_release( ca_crt, ca );
+        mbedtls_x509_crt_frame_release( ca_crt );
     }
 
     ret = mbedtls_x509_crt_pk_acquire( ca_crt, &pk );
@@ -2614,7 +2613,7 @@
         crl_list = crl_list->next;
     }
 
-    mbedtls_x509_crt_pk_release( ca_crt, pk );
+    mbedtls_x509_crt_pk_release( ca_crt );
     return( flags );
 }
 #endif /* MBEDTLS_X509_CRL_PARSE_C */
@@ -2663,7 +2662,7 @@
     }
 
 exit:
-    mbedtls_x509_crt_pk_release( parent, pk );
+    mbedtls_x509_crt_pk_release( parent );
     return( ret );
 }
 
@@ -2823,7 +2822,7 @@
                 path_len_ok = 1;
             }
 
-            mbedtls_x509_crt_frame_release( parent_crt, parent );
+            mbedtls_x509_crt_frame_release( parent_crt );
         }
 
         if( parent_match == 0 || path_len_ok == 0 )
@@ -3107,7 +3106,7 @@
                 /* Stop here for trusted roots (but not for trusted EE certs) */
                 if( child_is_trusted )
                 {
-                    mbedtls_x509_crt_frame_release( child_crt, child );
+                    mbedtls_x509_crt_frame_release( child_crt );
                     return( 0 );
                 }
 
@@ -3130,7 +3129,7 @@
                 if( ver_chain->len == 1 && self_issued &&
                     x509_crt_check_ee_locally_trusted( child, trust_ca ) == 0 )
                 {
-                    mbedtls_x509_crt_frame_release( child_crt, child );
+                    mbedtls_x509_crt_frame_release( child_crt );
                     return( 0 );
                 }
 
@@ -3139,7 +3138,7 @@
 #endif /* MBEDTLS_X509_CRL_PARSE_C */
 
                 ret = x509_crt_get_sig_info( child, &child_sig );
-                mbedtls_x509_crt_frame_release( child_crt, child );
+                mbedtls_x509_crt_frame_release( child_crt );
 
                 if( ret != 0 )
                     return( MBEDTLS_ERR_X509_FATAL_ERROR );
@@ -3203,7 +3202,7 @@
             if( x509_profile_check_key( profile, parent_pk ) != 0 )
                 *flags |= MBEDTLS_X509_BADCERT_BAD_KEY;
 
-            mbedtls_x509_crt_pk_release( parent_crt, parent_pk );
+            mbedtls_x509_crt_pk_release( parent_crt );
         }
 
 #if defined(MBEDTLS_X509_CRL_PARSE_C)
@@ -3321,7 +3320,7 @@
                                          x509_crt_check_name, (void*) cn );
     }
 
-    mbedtls_x509_crt_frame_release( crt, frame );
+    mbedtls_x509_crt_frame_release( crt );
 
     /* x509_crt_check_name() and x509_crt_subject_alt_check_name()
      * return 1 when finding a name component matching `cn`. */
@@ -3452,7 +3451,7 @@
         if( x509_profile_check_key( profile, pk ) != 0 )
             ee_flags |= MBEDTLS_X509_BADCERT_BAD_KEY;
 
-        mbedtls_x509_crt_pk_release( crt, pk );
+        mbedtls_x509_crt_pk_release( crt );
     }
 
     /* Check the chain */