Skip to content

Commit

Permalink
lib-auth: auth-client - Free the request in a separate function.
Browse files Browse the repository at this point in the history
  • Loading branch information
stephanbosch committed Feb 3, 2019
1 parent 5f3e5d8 commit 723b09f
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions src/lib-auth/auth-client-request.c
Expand Up @@ -164,6 +164,15 @@ call_callback(struct auth_client_request *request,
callback(request, status, data_base64, args, request->context);
}

static void auth_client_request_free(struct auth_client_request **_request)
{
struct auth_client_request *request = *_request;

*_request = NULL;

pool_unref(&request->pool);
}

void auth_client_request_abort(struct auth_client_request **_request)
{
struct auth_client_request *request = *_request;
Expand All @@ -174,7 +183,7 @@ void auth_client_request_abort(struct auth_client_request **_request)
call_callback(request, AUTH_REQUEST_STATUS_ABORT, NULL, NULL);
/* remove the request */
auth_client_connection_remove_request(request->conn, request->id);
pool_unref(&request->pool);
auth_client_request_free(&request);
}

unsigned int auth_client_request_get_id(struct auth_client_request *request)
Expand Down Expand Up @@ -235,7 +244,7 @@ void auth_client_request_server_input(struct auth_client_request *request,

call_callback(request, status, base64_data, args);
if (status != AUTH_REQUEST_STATUS_CONTINUE)
pool_unref(&request->pool);
auth_client_request_free(&request);
}

void auth_client_send_cancel(struct auth_client *client, unsigned int id)
Expand Down

0 comments on commit 723b09f

Please sign in to comment.