From: Fabian Keil <fk@fabiankeil.de>
Date: Tue, 25 Aug 2020 18:09:04 +0000 (+0200)
Subject: ssl_send_data(): Prevent endless loop
X-Git-Tag: v_3_0_29~203
X-Git-Url: http://www.privoxy.org/gitweb/%22https:/developer-manual/man-page/faq/@default-cgi@/@default-cgi@?a=commitdiff_plain;h=1a70173d7f1e3ac1e9bf678bd602537a06e0f406;p=privoxy.git

ssl_send_data(): Prevent endless loop

... if BIO_write() consistently returns 0.

Sponsored by: Robert Klemme
---

diff --git a/openssl.c b/openssl.c
index 3125021f..6cc2af55 100644
--- a/openssl.c
+++ b/openssl.c
@@ -171,7 +171,7 @@ extern int ssl_send_data(struct ssl_attr *ssl_attr, const unsigned char *buf, si
        */
       while ((ret = BIO_write(bio,
          (const unsigned char *)(buf + pos),
-         send_len)) < 0)
+         send_len)) <= 0)
       {
          if (!BIO_should_retry(bio))
          {