diff --git a/src/event/ngx_event_openssl.c b/src/event/ngx_event_openssl.c index c9f94c982..c827b996f 100644 --- a/src/event/ngx_event_openssl.c +++ b/src/event/ngx_event_openssl.c @@ -3242,6 +3242,12 @@ ngx_ssl_write(ngx_connection_t *c, u_char *data, size_t size) int n, sslerr; ngx_err_t err; + if (c->ssl->last == NGX_ERROR) { + c->write->ready = 0; + c->write->error = 1; + return NGX_ERROR; + } + #ifdef SSL_READ_EARLY_DATA_SUCCESS if (c->ssl->in_early) { return ngx_ssl_write_early(c, data, size); @@ -3473,6 +3479,12 @@ ngx_ssl_sendfile(ngx_connection_t *c, ngx_buf_t *file, size_t size) ssize_t n; ngx_err_t err; + if (c->ssl->last == NGX_ERROR) { + c->write->ready = 0; + c->write->error = 1; + return NGX_ERROR; + } + ngx_ssl_clear_error(c->log); ngx_log_debug2(NGX_LOG_DEBUG_EVENT, c->log, 0,