From d5a153bbe3134a37dc4bcee0ab9a10c4b59f8d2e Mon Sep 17 00:00:00 2001
From: Přemysl Janouch
Date: Sun, 12 Jul 2015 05:30:13 +0200
Subject: Call ERR_clear_error() where necessary
---
degesch.c | 2 ++
kike.c | 2 ++
zyklonb.c | 2 ++
3 files changed, 6 insertions(+)
diff --git a/degesch.c b/degesch.c
index 9eb1882..70387c4 100644
--- a/degesch.c
+++ b/degesch.c
@@ -4009,6 +4009,7 @@ transport_tls_try_read (struct server *s)
data->ssl_rx_want_tx = false;
while (true)
{
+ ERR_clear_error ();
str_ensure_space (buf, 512);
int n_read = SSL_read (data->ssl, buf->str + buf->len,
buf->alloc - buf->len - 1 /* null byte */);
@@ -4046,6 +4047,7 @@ transport_tls_try_write (struct server *s)
data->ssl_tx_want_rx = false;
while (buf->len)
{
+ ERR_clear_error ();
int n_written = SSL_write (data->ssl, buf->str, buf->len);
const char *error_info = NULL;
diff --git a/kike.c b/kike.c
index 43d16bf..d2766d7 100644
--- a/kike.c
+++ b/kike.c
@@ -3113,6 +3113,7 @@ irc_try_read_ssl (struct client *c)
while (true)
{
str_ensure_space (buf, 512);
+ ERR_clear_error ();
int n_read = SSL_read (c->ssl, buf->str + buf->len,
buf->alloc - buf->len - 1 /* null byte */);
@@ -3179,6 +3180,7 @@ irc_try_write_ssl (struct client *c)
c->ssl_tx_want_rx = false;
while (buf->len)
{
+ ERR_clear_error ();
int n_written = SSL_write (c->ssl, buf->str, buf->len);
const char *error_info = NULL;
diff --git a/zyklonb.c b/zyklonb.c
index e8e0892..88bbc87 100644
--- a/zyklonb.c
+++ b/zyklonb.c
@@ -281,6 +281,7 @@ irc_send (struct bot_context *ctx, const char *format, ...)
if (ctx->ssl)
{
// TODO: call SSL_get_error() to detect if a clean shutdown has occured
+ ERR_clear_error ();
if (SSL_write (ctx->ssl, str.str, str.len) != (int) str.len)
{
print_debug ("%s: %s: %s", __func__, "SSL_write",
@@ -1447,6 +1448,7 @@ irc_fill_read_buffer_ssl (struct bot_context *ctx, struct str *buf)
{
int n_read;
start:
+ ERR_clear_error ();
n_read = SSL_read (ctx->ssl, buf->str + buf->len,
buf->alloc - buf->len - 1 /* null byte */);
--
cgit v1.2.3-70-g09d2