Fix memory leak in x509_crl_parse()

The memory leak call was caused by missing calls to pem_free().
diff --git a/library/x509_crl.c b/library/x509_crl.c
index 0d92bb1..b2b0bed 100644
--- a/library/x509_crl.c
+++ b/library/x509_crl.c
@@ -520,16 +520,17 @@
             if( ( ret = x509_crl_parse_der( chain,
                                             pem.buf, pem.buflen ) ) != 0 )
             {
+                pem_free( &pem );
                 return( ret );
             }
-
-            pem_free( &pem );
         }
         else if( is_pem )
         {
             pem_free( &pem );
             return( ret );
         }
+
+        pem_free( &pem );
     }
     while( is_pem && buflen > 0 );