Merge branch 'mbedtls-1.3'
diff --git a/ChangeLog b/ChangeLog
index 6622fb5..446397f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -11,6 +11,9 @@
      cause buffer bound checks to be bypassed. Found by Eyal Itkin.
    * Fixed potential arithmetic overflow in mbedtls_base64_decode() that could
      cause buffer bound checks to be bypassed. Found by Eyal Itkin.
+   * Fix unused variable/function compilation warnings in pem.c and x509_csr.c
+     that are reported when building mbed TLS with a config.h that does not
+     define POLARSSL_PEM_PARSE_C. Found by omnium21. #562
 
 = mbed TLS 1.3.18 branch 2016-10-17
 
diff --git a/library/pem.c b/library/pem.c
index 054fcff..ac83116 100644
--- a/library/pem.c
+++ b/library/pem.c
@@ -45,12 +45,12 @@
 #define polarssl_free       free
 #endif
 
+#if defined(POLARSSL_PEM_PARSE_C)
 /* Implementation that should never be optimized out by the compiler */
 static void polarssl_zeroize( void *v, size_t n ) {
     volatile unsigned char *p = v; while( n-- ) *p++ = 0;
 }
 
-#if defined(POLARSSL_PEM_PARSE_C)
 void pem_init( pem_context *ctx )
 {
     memset( ctx, 0, sizeof( pem_context ) );
diff --git a/library/x509_csr.c b/library/x509_csr.c
index 558b078..9bdfe88 100644
--- a/library/x509_csr.c
+++ b/library/x509_csr.c
@@ -260,8 +260,8 @@
  */
 int x509_csr_parse( x509_csr *csr, const unsigned char *buf, size_t buflen )
 {
-    int ret;
 #if defined(POLARSSL_PEM_PARSE_C)
+    int ret;
     size_t use_len;
     pem_context pem;
 #endif