From e3ecc5a13aeb7181f1ea5652d7443996543c9c43 Mon Sep 17 00:00:00 2001 From: Aki Tuomi Date: Tue, 4 Sep 2018 09:43:32 +0300 Subject: [PATCH] driver-cassandra: Add driver_cassandra_free --- src/lib-sql/driver-cassandra.c | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/src/lib-sql/driver-cassandra.c b/src/lib-sql/driver-cassandra.c index 8249e7cd10..bb78806ea4 100644 --- a/src/lib-sql/driver-cassandra.c +++ b/src/lib-sql/driver-cassandra.c @@ -730,6 +730,21 @@ static void driver_cassandra_metrics_write(struct cassandra_db *db) i_close_fd(&fd); } +static void driver_cassandra_free(struct cassandra_db **_db) +{ + struct cassandra_db *db = *_db; + *_db = NULL; + + i_free(db->metrics_path); + i_free(db->hosts); + i_free(db->error); + i_free(db->keyspace); + i_free(db->user); + i_free(db->password); + array_free(&db->api.module_contexts); + i_free(db); +} + static struct sql_db *driver_cassandra_init_v(const char *connect_string) { struct cassandra_db *db; @@ -802,14 +817,7 @@ static void driver_cassandra_deinit_v(struct sql_db *_db) cass_cluster_free(db->cluster); cass_timestamp_gen_free(db->timestamp_gen); timeout_remove(&db->to_metrics); - i_free(db->metrics_path); - i_free(db->hosts); - i_free(db->error); - i_free(db->keyspace); - i_free(db->user); - i_free(db->password); - array_free(&_db->module_contexts); - i_free(db); + driver_cassandra_free(&db); } static void driver_cassandra_result_unlink(struct cassandra_db *db, -- 2.47.3