aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2006-11-22 16:00:14 +0000
committerIgor Sysoev <igor@sysoev.ru>2006-11-22 16:00:14 +0000
commit0de2e655cfae053725660e03e8ff49e427a566a0 (patch)
treecf6904f82d603bb45c8e68f7e2c3bd9b52821406
parentf4eb0173332488359c982003aafd5d31e31fe2b2 (diff)
downloadnginx-0de2e655cfae053725660e03e8ff49e427a566a0.tar.gz
nginx-0de2e655cfae053725660e03e8ff49e427a566a0.zip
fix segfault when connect() failed
-rw-r--r--src/imap/ngx_imap_auth_http_module.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/imap/ngx_imap_auth_http_module.c b/src/imap/ngx_imap_auth_http_module.c
index beca1950d..d39c29502 100644
--- a/src/imap/ngx_imap_auth_http_module.c
+++ b/src/imap/ngx_imap_auth_http_module.c
@@ -182,7 +182,10 @@ ngx_imap_auth_http_init(ngx_imap_session_t *s)
rc = ngx_event_connect_peer(&ctx->peer);
if (rc == NGX_ERROR || rc == NGX_BUSY || rc == NGX_DECLINED) {
- ngx_close_connection(ctx->peer.connection);
+ if (ctx->peer.connection) {
+ ngx_close_connection(ctx->peer.connection);
+ }
+
ngx_destroy_pool(ctx->pool);
ngx_imap_session_internal_server_error(s);
return;