]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth-policy: Ref/unref auth request
authorAki Tuomi <aki.tuomi@dovecot.fi>
Sat, 17 Sep 2016 09:57:00 +0000 (12:57 +0300)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Mon, 19 Sep 2016 12:40:09 +0000 (15:40 +0300)
If auth_request is not referenced it can go away
before HTTP response is handled.

src/auth/auth-policy.c

index 2f7b4caea7e89b4596d5ae8e0cbca0c1316da244..78443d54af44aea017db3f8e35edff159d7cf4ac 100755 (executable)
@@ -227,6 +227,8 @@ void auth_policy_finish(void *ctx)
        }
        if (context->http_request != NULL)
                http_client_request_abort(&(context->http_request));
+       if (context->request != NULL)
+               auth_request_unref(&context->request);
 }
 
 static
@@ -391,6 +393,7 @@ void auth_policy_send_request(struct policy_lookup_ctx *context)
        http_client_request_set_payload(context->http_request, is, FALSE);
        i_stream_unref(&is);
        http_client_request_submit(context->http_request);
+       auth_request_ref(context->request);
 }
 
 static