From: Stephan Bosch Date: Mon, 2 Oct 2017 12:28:00 +0000 (+0200) Subject: lib-auth-client: auth-master - Allocate the connection on an alloconly pool X-Git-Tag: 2.4.2~509 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=826bdf24f52112f388fe4b0867c78eaccc5aecca;p=thirdparty%2Fdovecot%2Fcore.git lib-auth-client: auth-master - Allocate the connection on an alloconly pool --- diff --git a/src/lib-auth-client/auth-master-private.h b/src/lib-auth-client/auth-master-private.h index 45ea064acd..fd5d6be1f7 100644 --- a/src/lib-auth-client/auth-master-private.h +++ b/src/lib-auth-client/auth-master-private.h @@ -15,9 +15,10 @@ struct auth_master_connection { struct connection conn; struct connection_list *clist; + pool_t pool; struct event *event_parent, *event; - char *auth_socket_path; + const char *auth_socket_path; enum auth_master_flags flags; struct ioloop *ioloop, *prev_ioloop; diff --git a/src/lib-auth-client/auth-master.c b/src/lib-auth-client/auth-master.c index de9df26e46..ae225557ae 100644 --- a/src/lib-auth-client/auth-master.c +++ b/src/lib-auth-client/auth-master.c @@ -53,9 +53,12 @@ struct auth_master_connection * auth_master_init(const char *auth_socket_path, enum auth_master_flags flags) { struct auth_master_connection *conn; + pool_t pool; - conn = i_new(struct auth_master_connection, 1); - conn->auth_socket_path = i_strdup(auth_socket_path); + pool = pool_alloconly_create("auth_master_connection", 1024); + conn = p_new(pool, struct auth_master_connection, 1); + conn->pool = pool; + conn->auth_socket_path = p_strdup(pool, auth_socket_path); conn->flags = flags; conn->timeout_msecs = 1000*MASTER_AUTH_LOOKUP_TIMEOUT_SECS; conn->clist = connection_list_init(&auth_master_set, @@ -97,8 +100,7 @@ void auth_master_deinit(struct auth_master_connection **_conn) connection_deinit(&conn->conn); connection_list_deinit(&clist); event_unref(&conn->event_parent); - i_free(conn->auth_socket_path); - i_free(conn); + pool_unref(&conn->pool); } void auth_master_set_timeout(struct auth_master_connection *conn,