Fix unused parameters and ifdefs

Signed-off-by: Andrzej Kurek <andrzej.kurek@arm.com>
diff --git a/library/ssl_tls.c b/library/ssl_tls.c
index 4761155..64f43f0 100644
--- a/library/ssl_tls.c
+++ b/library/ssl_tls.c
@@ -12056,7 +12056,9 @@
 #endif
 #endif /* MBEDTLS_SSL_PROTO_TLS1_2 */
 
-#if defined(MBEDTLS_SSL_FREE_SERVER_CERTIFICATE)
+#if defined(MBEDTLS_SSL_FREE_SERVER_CERTIFICATE) && \
+    defined(MBEDTLS_X509_CRT_PARSE_C) && \
+    defined(MBEDTLS_SSL_KEEP_PEER_CERTIFICATE)
     mbedtls_x509_crt_free( ssl->session_negotiate->peer_cert );
     mbedtls_free( ssl->session->peer_cert );
     ssl->session->peer_cert = NULL;