libmicrohttpd

HTTP/1.x server C library (MHD 1.x, stable)
Log | Files | Refs | Submodules | README | LICENSE

commit 0d771f770e6c444cfee7f4f588620e9c8b934d97
parent 11ed3de399e16ca294fd4478596845b444438968
Author: Christian Grothoff <christian@grothoff.org>
Date:   Tue, 16 Jun 2020 20:46:32 +0200

handle gnutls_record_uncork() failure, might help issue PC reported on the list

Diffstat:
MChangeLog | 3+++
Msrc/microhttpd/mhd_send.c | 5++++-
2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog @@ -1,3 +1,6 @@ +Tue 16 Jun 2020 08:44:22 PM CEST + Add logic to try again if GNUtls uncork() fails. -CG + Wed 10 Jun 2020 09:44:29 PM CEST Fixed PostProcessor bug discovered by MD, which given certain parser boundaries caused the returned values to be wrong. -CG/MD diff --git a/src/microhttpd/mhd_send.c b/src/microhttpd/mhd_send.c @@ -313,7 +313,10 @@ MHD_send_on_connection_ (struct MHD_Connection *connection, if (! want_cork && have_cork) { - (void) gnutls_record_uncork (connection->tls_session, 0); + int err = gnutls_record_uncork (connection->tls_session, 0); + + if (0 > err) + return MHD_ERR_AGAIN_; connection->sk_cork_on = false; } }