summaryrefslogtreecommitdiffstats
path: root/support
diff options
context:
space:
mode:
authorJeff Trawick <trawick@apache.org>2009-11-06 23:33:37 +0100
committerJeff Trawick <trawick@apache.org>2009-11-06 23:33:37 +0100
commit1b84ebe0f5876354afc57573c1adf2f90c106696 (patch)
tree429d3971862645c54389e718392bc7d684b1bea5 /support
parentSECURITY: Partial fix for CVE-2009-3555: (diff)
downloadapache2-1b84ebe0f5876354afc57573c1adf2f90c106696.tar.xz
apache2-1b84ebe0f5876354afc57573c1adf2f90c106696.zip
update pollset to reflect changed connection state before closing the socket;
otherwise the pollset-remove can crash (at least with select-based poll, since fd is now -1) git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@833583 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'support')
-rw-r--r--support/ab.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/support/ab.c b/support/ab.c
index 0baf8ce7aa..d818d23d9a 100644
--- a/support/ab.c
+++ b/support/ab.c
@@ -1784,6 +1784,7 @@ static void test(void)
if (c->state == STATE_CONNECTING) {
rv = apr_socket_connect(c->aprsock, destsa);
if (rv != APR_SUCCESS) {
+ set_conn_state(c, STATE_UNCONNECTED);
apr_socket_close(c->aprsock);
err_conn++;
if (bad++ > 10) {
@@ -1791,7 +1792,6 @@ static void test(void)
"\nTest aborted after 10 failures\n\n");
apr_err("apr_socket_connect()", rv);
}
- set_conn_state(c, STATE_UNCONNECTED);
start_connect(c);
continue;
}