diff options
author | Jeff Trawick <trawick@apache.org> | 2009-11-06 23:33:37 +0100 |
---|---|---|
committer | Jeff Trawick <trawick@apache.org> | 2009-11-06 23:33:37 +0100 |
commit | 1b84ebe0f5876354afc57573c1adf2f90c106696 (patch) | |
tree | 429d3971862645c54389e718392bc7d684b1bea5 /support | |
parent | SECURITY: Partial fix for CVE-2009-3555: (diff) | |
download | apache2-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.c | 2 |
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; } |