Occurs only when the application (in this case LMTP) has a
conn_proxy_data_updated() callback. The context parameter was the struct
smtp_server_connection object itself, rather than the application context. This
caused the connection object to be overwritten.
conn->proxy_timeout_secs = proxy_data->timeout_secs;
if (conn->callbacks != NULL &&
- conn->callbacks->conn_proxy_data_updated != NULL)
- conn->callbacks->conn_proxy_data_updated(conn, proxy_data);
+ conn->callbacks->conn_proxy_data_updated != NULL) {
+ conn->callbacks->
+ conn_proxy_data_updated(conn->context, proxy_data);
+ }
}
void smtp_server_connection_switch_ioloop(struct smtp_server_connection *conn)