Introduced x509_crt_init(), x509_crl_init() and x509_csr_init()
diff --git a/library/x509_crl.c b/library/x509_crl.c
index 1a10bc4..e327726 100644
--- a/library/x509_crl.c
+++ b/library/x509_crl.c
@@ -279,7 +279,7 @@
         }
 
         crl = crl->next;
-        memset( crl, 0, sizeof( x509_crl ) );
+        x509_crl_init( crl );
     }
 
 #if defined(POLARSSL_PEM_PARSE_C)
@@ -514,7 +514,7 @@
         }
 
         crl = crl->next;
-        memset( crl, 0, sizeof( x509_crl ) );
+        x509_crl_init( crl );
 
         return( x509parse_crl( crl, buf, buflen ) );
     }
@@ -680,6 +680,14 @@
 }
 
 /*
+ * Initialize a CRL chain
+ */
+void x509_crl_init( x509_crl *crl )
+{
+    memset( crl, 0, sizeof(x509_crl) );
+}
+
+/*
  * Unallocate all CRL data
  */
 void x509_crl_free( x509_crl *crl )