summaryrefslogtreecommitdiff
path: root/src/server/mod_wsgi.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/mod_wsgi.c')
-rw-r--r--src/server/mod_wsgi.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/server/mod_wsgi.c b/src/server/mod_wsgi.c
index d876299..99f01b8 100644
--- a/src/server/mod_wsgi.c
+++ b/src/server/mod_wsgi.c
@@ -10709,7 +10709,7 @@ static apr_status_t wsgi_socket_sendv(apr_socket_t *sock, struct iovec *vec,
if (nvec > iov_max) {
int offset = 0;
- while (nvec > 0) {
+ while (nvec != 0) {
apr_status_t rv;
rv = wsgi_socket_sendv_limit(sock, &vec[offset],
@@ -10718,8 +10718,12 @@ static apr_status_t wsgi_socket_sendv(apr_socket_t *sock, struct iovec *vec,
if (rv != APR_SUCCESS)
return rv;
- nvec -= iov_max;
- offset += iov_max;
+ if (nvec > iov_max) {
+ nvec -= iov_max;
+ offset += iov_max;
+ } else {
+ nvec = 0;
+ }
}
return APR_SUCCESS;