Fix potential resource leak in X.509 parse dir

Found with fbinfer.
diff --git a/library/x509_crt.c b/library/x509_crt.c
index 0c3450a..ed62e7b 100644
--- a/library/x509_crt.c
+++ b/library/x509_crt.c
@@ -1155,7 +1155,10 @@
 
 #if defined(MBEDTLS_THREADING_PTHREAD)
     if( ( ret = mbedtls_mutex_lock( &mbedtls_threading_readdir_mutex ) ) != 0 )
+    {
+        closedir( dir );
         return( ret );
+    }
 #endif
 
     while( ( entry = readdir( dir ) ) != NULL )