Ensure memcpy is not called with NULL and 0 args in x509 module
diff --git a/library/x509_crl.c b/library/x509_crl.c
index 8f98d8c..9422457 100644
--- a/library/x509_crl.c
+++ b/library/x509_crl.c
@@ -294,7 +294,9 @@
     /*
      * Copy raw DER-encoded CRL
      */
-    if( buflen != 0 && ( ( p = mbedtls_calloc( 1, buflen ) ) == NULL ) )
+    if( buflen == 0 )
+        return( MBEDTLS_ERR_X509_INVALID_FORMAT );
+    else if( ( p = mbedtls_calloc( 1, buflen ) ) == NULL )
         return( MBEDTLS_ERR_X509_ALLOC_FAILED );
 
     memcpy( p, buf, buflen );