# HG changeset patch # User Timo Sirainen # Date 1291615494 0 # Node ID ebc5dc47eb599690f111481cb0a1d7a4438ef1b6 # Parent c447114b0f89d4a31502d3460947d202d451323d imap/pop3-login: Don't crash if passdb returns proxy field without host. diff -r c447114b0f89 -r ebc5dc47eb59 src/imap-login/imap-proxy.c --- a/src/imap-login/imap-proxy.c Thu Dec 02 04:37:38 2010 +0000 +++ b/src/imap-login/imap-proxy.c Mon Dec 06 06:04:54 2010 +0000 @@ -436,6 +436,11 @@ client_send_tagline(client, PROXY_FAILURE_MSG); return -1; } + if (host == NULL || *host == '\0') { + client_syslog_err(&client->common, "proxy: host not given"); + client_send_tagline(client, PROXY_FAILURE_MSG); + return -1; + } i_assert(client->refcount > 1); connection_queue_add(1); diff -r c447114b0f89 -r ebc5dc47eb59 src/pop3-login/pop3-proxy.c --- a/src/pop3-login/pop3-proxy.c Thu Dec 02 04:37:38 2010 +0000 +++ b/src/pop3-login/pop3-proxy.c Mon Dec 06 06:04:54 2010 +0000 @@ -271,6 +271,11 @@ client_send_line(client, PROXY_FAILURE_MSG); return -1; } + if (host == NULL || *host == '\0') { + client_syslog_err(&client->common, "proxy: host not given"); + client_send_line(client, PROXY_FAILURE_MSG); + return -1; + } i_assert(client->refcount > 1); connection_queue_add(1);