From: Aki Tuomi Date: Tue, 4 Sep 2018 06:39:06 +0000 (+0300) Subject: driver-pgsql: Add driver_pgsql_free X-Git-Tag: 2.3.9~1454 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d73c94edd4f17c013bc597900ded808a3f19777f;p=thirdparty%2Fdovecot%2Fcore.git driver-pgsql: Add driver_pgsql_free --- diff --git a/src/lib-sql/driver-pgsql.c b/src/lib-sql/driver-pgsql.c index 86400d38af..49f442f5d6 100644 --- a/src/lib-sql/driver-pgsql.c +++ b/src/lib-sql/driver-pgsql.c @@ -272,6 +272,17 @@ static void driver_pgsql_disconnect(struct sql_db *_db) _db->no_reconnect = FALSE; } +static void driver_pgsql_free(struct pgsql_db **_db) +{ + struct pgsql_db *db = *_db; + *_db = NULL; + + i_free(db->connect_string); + i_free(db->host); + array_free(&db->api.module_contexts); + i_free(db); +} + static struct sql_db *driver_pgsql_init_v(const char *connect_string) { struct pgsql_db *db; @@ -296,11 +307,7 @@ static void driver_pgsql_deinit_v(struct sql_db *_db) struct pgsql_db *db = (struct pgsql_db *)_db; driver_pgsql_disconnect(_db); - i_free(db->host); - i_free(db->error); - i_free(db->connect_string); - array_free(&_db->module_contexts); - i_free(db); + driver_pgsql_free(&db); } static void driver_pgsql_set_idle(struct pgsql_db *db)