Mercurial > dovecot > core-2.2
changeset 21028:7a59b4ec1ede
lib-http: client: Set conn->connect_request to NULL immediately in http_client_connection_tunnel_response().
Prevents referring to this completed request in other parts of the code.
author | Stephan Bosch <stephan@dovecot.fi> |
---|---|
date | Sun, 11 Sep 2016 19:44:32 +0200 |
parents | 77ae935206d8 |
children | a3a045122aa4 |
files | src/lib-http/http-client-connection.c |
diffstat | 1 files changed, 4 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-http/http-client-connection.c Sun Sep 11 17:46:10 2016 +0200 +++ b/src/lib-http/http-client-connection.c Sun Sep 11 19:44:32 2016 +0200 @@ -1341,17 +1341,18 @@ { struct http_client_tunnel tunnel; const char *name = http_client_peer_addr2str(&conn->peer->addr); + struct http_client_request *req = conn->connect_request; + + conn->connect_request = NULL; if (response->status != 200) { http_client_peer_connection_failure(conn->peer, t_strdup_printf( "Tunnel connect(%s) failed: %d %s", name, response->status, response->reason)); - conn->connect_request = NULL; return; } - http_client_request_start_tunnel(conn->connect_request, &tunnel); - conn->connect_request = NULL; + http_client_request_start_tunnel(req, &tunnel); connection_init_from_streams (conn->client->conn_list, &conn->conn, name, tunnel.input, tunnel.output);