]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-http: http_client_request_send() failure returned already-freed error string.
authorTimo Sirainen <tss@iki.fi>
Thu, 18 Jun 2015 08:10:05 +0000 (11:10 +0300)
committerTimo Sirainen <tss@iki.fi>
Thu, 18 Jun 2015 08:10:05 +0000 (11:10 +0300)
src/lib-http/http-client-request.c

index b5bc6a47e36b28f42ffd1a0c410c7fed8ab50213..2e64991ec1672985b53ae779d47a47d36f3e96b5 100644 (file)
@@ -832,11 +832,16 @@ static int http_client_request_send_real(struct http_client_request *req,
 int http_client_request_send(struct http_client_request *req,
                             const char **error_r)
 {
+       char *errstr = NULL;
        int ret;
 
        T_BEGIN {
                ret = http_client_request_send_real(req, error_r);
+               if (ret < 0)
+                       errstr = i_strdup(*error_r);
        } T_END;
+       *error_r = t_strdup(errstr);
+       i_free(errstr);
        return ret;
 }