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)
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);
}