From: Timo Sirainen Date: Tue, 2 Mar 2010 09:19:32 +0000 (+0200) Subject: lmtp proxy: Crashfix. X-Git-Tag: 2.0.beta4~144 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cfd4c781bbcbeeaf4fc5ff19c8268bfa54248b04;p=thirdparty%2Fdovecot%2Fcore.git lmtp proxy: Crashfix. --HG-- branch : HEAD --- diff --git a/src/lmtp/lmtp-proxy.c b/src/lmtp/lmtp-proxy.c index 7a4ad635b3..0eefff1df6 100644 --- a/src/lmtp/lmtp-proxy.c +++ b/src/lmtp/lmtp-proxy.c @@ -100,6 +100,8 @@ void lmtp_proxy_deinit(struct lmtp_proxy **_proxy) o_stream_unref(&proxy->client_output); if (proxy->to_data_idle != NULL) timeout_remove(&proxy->to_data_idle); + if (proxy->to_finish != NULL) + timeout_remove(&proxy->to_finish); if (proxy->to != NULL) timeout_remove(&proxy->to); if (proxy->io != NULL) @@ -191,7 +193,9 @@ static void lmtp_proxy_finish(struct lmtp_proxy *proxy) static void lmtp_proxy_try_finish(struct lmtp_proxy *proxy) { if (lmtp_proxy_send_data_replies(proxy) && - (proxy->data_input->eof || proxy->data_input->stream_errno != 0 || + (proxy->data_input == NULL || + proxy->data_input->eof || + proxy->data_input->stream_errno != 0 || proxy->input_timeout)) lmtp_proxy_finish(proxy); }