---
 crypto.c         |    6 +++---
 crypto_backend.h |    2 ++
 crypto_openssl.c |    6 ++++++
 3 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/crypto.c b/crypto.c
index 409c298..bdb3b1d 100644
--- a/crypto.c
+++ b/crypto.c
@@ -191,8 +191,8 @@ openvpn_encrypt (struct buffer *buf, struct buffer work,
   gc_free (&gc);
   return;

- err:
-  ERR_clear_error ();
+err:
+  crypto_clear_error();
   buf->len = 0;
   gc_free (&gc);
   return;
@@ -363,7 +363,7 @@ openvpn_decrypt (struct buffer *buf, struct buffer work,
   return true;

  error_exit:
-  ERR_clear_error ();
+  crypto_clear_error();
   buf->len = 0;
   gc_free (&gc);
   return false;
diff --git a/crypto_backend.h b/crypto_backend.h
index b099f47..50eef7b 100644
--- a/crypto_backend.h
+++ b/crypto_backend.h
@@ -38,6 +38,8 @@

 #include "basic.h"

+void crypto_clear_error (void);
+
 void show_available_ciphers (void);

 void show_available_digests (void);
diff --git a/crypto_openssl.c b/crypto_openssl.c
index 9edcf40..8e228ee 100644
--- a/crypto_openssl.c
+++ b/crypto_openssl.c
@@ -87,6 +87,12 @@ cipher_ok (const char* name)
 #endif

 void
+crypto_clear_error (void)
+{
+  ERR_clear_error ();
+}
+
+void
 show_available_ciphers ()
 {
   int nid;
-- 
1.7.4.1


Reply via email to