summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--degesch.c2
-rw-r--r--kike.c2
-rw-r--r--zyklonb.c2
3 files changed, 6 insertions, 0 deletions
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 */);