From 840abb812d2e8edc42b5e2a4e3838b8d5e759e6a Mon Sep 17 00:00:00 2001 From: Stephan Bosch Date: Fri, 10 Oct 2014 00:46:15 +0300 Subject: [PATCH] lib-http: client: Fixed assert crash occurring when DNS lookup fails immediately during request submission. In that situation, the request was not dropped from the queue immediately, triggering the assert crash. --- src/lib-http/http-client-request.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lib-http/http-client-request.c b/src/lib-http/http-client-request.c index f33a445a22..e59bbecdf5 100644 --- a/src/lib-http/http-client-request.c +++ b/src/lib-http/http-client-request.c @@ -900,6 +900,9 @@ void http_client_request_error(struct http_client_request *req, if (req->state >= HTTP_REQUEST_STATE_FINISHED) return; + if (req->queue != NULL) + http_client_queue_drop_request(req->queue, req); + if (!req->submitted) { /* we're still in http_client_request_submit(). delay reporting the error, so the caller doesn't have to handle @@ -910,8 +913,6 @@ void http_client_request_error(struct http_client_request *req, http_client_host_delay_request_error(req->host, req); } else { http_client_request_send_error(req, status, error); - if (req->queue != NULL) - http_client_queue_drop_request(req->queue, req); http_client_request_unref(&req); } } -- 2.47.3