Fixup talloc destructors
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Fri, 20 Jun 2014 09:14:45 +0000 (10:14 +0100)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Fri, 20 Jun 2014 09:19:07 +0000 (10:19 +0100)
14 files changed:
src/main/conffile.c
src/main/listen.c
src/main/modules.c
src/modules/rlm_eap/eap.c
src/modules/rlm_sql/drivers/rlm_sql_db2/rlm_sql_db2.c
src/modules/rlm_sql/drivers/rlm_sql_firebird/rlm_sql_firebird.c
src/modules/rlm_sql/drivers/rlm_sql_freetds/rlm_sql_freetds.c
src/modules/rlm_sql/drivers/rlm_sql_iodbc/rlm_sql_iodbc.c
src/modules/rlm_sql/drivers/rlm_sql_mysql/rlm_sql_mysql.c
src/modules/rlm_sql/drivers/rlm_sql_oracle/rlm_sql_oracle.c
src/modules/rlm_sql/drivers/rlm_sql_postgresql/rlm_sql_postgresql.c
src/modules/rlm_sql/drivers/rlm_sql_sqlite/rlm_sql_sqlite.c
src/modules/rlm_sql/drivers/rlm_sql_unixodbc/rlm_sql_unixodbc.c
src/modules/rlm_sql/sql.c

index 20717ac..c31f2d2 100644 (file)
@@ -214,11 +214,8 @@ static CONF_PAIR *cf_pair_alloc(CONF_SECTION *parent, char const *attr,
        return cp;
 }
 
-static int cf_data_free(void *ctx)
+static int _cf_data_free(CONF_DATA *cd)
 {
-       CONF_DATA *cd;
-
-       cd = talloc_get_type_abort(ctx, CONF_DATA);
        if (cd->free) {
                cd->free(cd->data);
        }
@@ -286,12 +283,8 @@ static int data_cmp(void const *a, void const *b)
        return strcmp(one->name, two->name);
 }
 
-static int cf_section_free(void *ctx)
+static int _cf_section_free(CONF_SECTION *cs)
 {
-       CONF_SECTION *cs;
-
-       cs = talloc_get_type_abort(ctx, CONF_SECTION);
-
        /*
         *      Name1 and name2 are allocated contiguous with
         *      cs.
@@ -362,7 +355,7 @@ CONF_SECTION *cf_section_alloc(CONF_SECTION *parent, char const *name1,
        cs->pair_tree = rbtree_create(cs, pair_cmp, NULL, 0);
        if (!cs->pair_tree) goto error;
 
-       talloc_set_destructor((void *) cs, cf_section_free);
+       talloc_set_destructor(cs, _cf_section_free);
 
        /*
         *      Don't create a data tree, it may not be needed.
@@ -2744,7 +2737,7 @@ static CONF_DATA *cf_data_alloc(CONF_SECTION *parent, char const *name,
        cd->free = data_free;
 
        if (cd->free) {
-               talloc_set_destructor((void *) cd, cf_data_free);
+               talloc_set_destructor(cd, _cf_data_free);
        }
 
        return cd;
index 3b1ec30..37b613b 100644 (file)
@@ -2501,12 +2501,8 @@ static int listen_bind(rad_listen_t *this)
 }
 
 
-static int listener_free(void *ctx)
+static int _listener_free(rad_listen_t *this)
 {
-       rad_listen_t *this;
-
-       this = talloc_get_type_abort(ctx, rad_listen_t);
-
        /*
         *      Other code may have eaten the FD.
         */
@@ -2571,7 +2567,7 @@ static rad_listen_t *listen_alloc(TALLOC_CTX *ctx, RAD_LISTEN_TYPE type)
        this->encode = master_listen[this->type].encode;
        this->decode = master_listen[this->type].decode;
 
-       talloc_set_destructor((void *) this, listener_free);
+       talloc_set_destructor(this, _listener_free);
 
        this->data = talloc_zero_array(this, uint8_t, master_listen[this->type].inst_size);
 
index f9459f6..cb9dda2 100644 (file)
@@ -314,7 +314,7 @@ void virtual_servers_free(time_t when)
        }
 }
 
-static int indexed_modcallable_free(indexed_modcallable *this)
+static int _indexed_modcallable_free(indexed_modcallable *this)
 {
        modcallable_free(&this->modulelist);
        return 0;
@@ -421,7 +421,7 @@ static int module_entry_cmp(void const *one, void const *two)
 /*
  *     Free a module entry.
  */
-static int module_entry_free(module_entry_t *this)
+static int _module_entry_free(module_entry_t *this)
 {
 #ifndef NDEBUG
        /*
@@ -512,7 +512,7 @@ static module_entry_t *linkto_module(char const *module_name,
 
        /* make room for the module type */
        node = talloc_zero(cs, module_entry_t);
-       talloc_set_destructor(node, module_entry_free);
+       talloc_set_destructor(node, _module_entry_free);
        strlcpy(node->name, module_name, sizeof(node->name));
        node->module = module;
        node->handle = handle;
@@ -767,7 +767,7 @@ static indexed_modcallable *new_sublist(CONF_SECTION *cs,
                return NULL;
        }
 
-       talloc_set_destructor(c, indexed_modcallable_free);
+       talloc_set_destructor(c, _indexed_modcallable_free);
 
        return c;
 }
index ea7a8b3..70d964f 100644 (file)
@@ -69,12 +69,8 @@ static char const *eap_codes[] = {
        "failure"
 };
 
-static int eap_module_free(void *ctx)
+static int _eap_module_free(eap_module_t *inst)
 {
-       eap_module_t *inst;
-
-       inst = talloc_get_type_abort(ctx, eap_module_t);
-
        /*
         *      We have to check inst->type as it's only allocated
         *      if we loaded the eap method.
@@ -106,7 +102,7 @@ int eap_module_load(rlm_eap_t *inst, eap_module_t **m_inst, eap_type_t num, CONF
        *m_inst = method = talloc_zero(cs, eap_module_t);
        if (!inst) return -1;
 
-       talloc_set_destructor((void *) method, eap_module_free);
+       talloc_set_destructor(method, _eap_module_free);
 
        /* fill in the structure */
        method->cs = cs;
index 01fd6ef..35c3d75 100644 (file)
@@ -45,10 +45,8 @@ typedef struct rlm_sql_conn {
        char *error;
 } rlm_sql_db2_conn_t;
 
-static int sql_socket_destructor(void *c)
+static int _sql_socket_destructor(rlm_sql_db2_conn_t *conn)
 {
-       rlm_sql_db2_conn_t *conn = c;
-
        DEBUG2("rlm_sql_db2: Socket destructor called, closing socket");
 
        if (conn->hdbc) {
@@ -76,7 +74,7 @@ static sql_rcode_t sql_socket_init(rlm_sql_handle_t *handle, rlm_sql_config_t *c
        rlm_sql_db2_conn_t *conn;
 
        MEM(conn = handle->conn = talloc_zero(handle, rlm_sql_db2_conn_t));
-       talloc_set_destructor((void *) conn, sql_socket_destructor);
+       talloc_set_destructor(conn, _sql_socket_destructor);
 
        /* allocate handles */
        SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &(conn->henv));
index af02727..cc135b1 100644 (file)
@@ -31,9 +31,8 @@ static int sql_affected_rows(rlm_sql_handle_t *handle, rlm_sql_config_t *config)
 static int sql_num_fields(rlm_sql_handle_t *handle, rlm_sql_config_t *config);
 static sql_rcode_t sql_finish_query(rlm_sql_handle_t *handle, rlm_sql_config_t *config);
 
-static int sql_socket_destructor(void *c)
+static int _sql_socket_destructor(rlm_sql_firebird_conn_t *conn)
 {
-       rlm_sql_firebird_conn_t *conn = c;
        int i;
 
        DEBUG2("rlm_sql_firebird: socket destructor called, closing socket");
@@ -77,7 +76,7 @@ static sql_rcode_t sql_socket_init(rlm_sql_handle_t *handle, rlm_sql_config_t *c
        long res;
 
        MEM(conn = handle->conn = talloc_zero(handle, rlm_sql_firebird_conn_t));
-       talloc_set_destructor((void *) conn, sql_socket_destructor);
+       talloc_set_destructor(conn, _sql_socket_destructor);
 
        res = fb_init_socket(conn);
        if (res) {
index e64b4b3..f5023ee 100644 (file)
@@ -653,10 +653,8 @@ static int sql_affected_rows(rlm_sql_handle_t *handle, rlm_sql_config_t *config)
 }
 
 
-static int sql_socket_destructor(void *c)
+static int _sql_socket_destructor(rlm_sql_freetds_conn_t *conn)
 {
-       rlm_sql_freetds_conn_t *conn = c;
-
        DEBUG2("rlm_sql_freetds: socket destructor called, closing socket");
 
        if (conn->command) {
@@ -704,7 +702,7 @@ static sql_rcode_t sql_socket_init(rlm_sql_handle_t *handle, rlm_sql_config_t *c
        rlm_sql_freetds_conn_t *conn;
 
        MEM(conn = handle->conn = talloc_zero(handle, rlm_sql_freetds_conn_t));
-       talloc_set_destructor((void *) conn, sql_socket_destructor);
+       talloc_set_destructor(conn, _sql_socket_destructor);
 
        /*
         *      Allocate a CS context structure. This should really only be done once, but because of
index 9a22d53..b242338 100644 (file)
@@ -53,10 +53,8 @@ typedef struct rlm_sql_iodbc_conn {
 static char const *sql_error(rlm_sql_handle_t *handle, rlm_sql_config_t *config);
 static int sql_num_fields(rlm_sql_handle_t *handle, rlm_sql_config_t *config);
 
-static int sql_socket_destructor(void *c)
+static int _sql_socket_destructor(rlm_sql_iodbc_conn_t *conn)
 {
-       rlm_sql_iodbc_conn_t *conn = c;
-
        DEBUG2("rlm_sql_iodbc: Socket destructor called, closing socket");
 
        if (conn->stmt_handle) {
@@ -88,7 +86,7 @@ static sql_rcode_t sql_socket_init(rlm_sql_handle_t *handle, rlm_sql_config_t *c
        SQLRETURN rcode;
 
        MEM(conn = handle->conn = talloc_zero(handle, rlm_sql_iodbc_conn_t));
-       talloc_set_destructor((void *) conn, sql_socket_destructor);
+       talloc_set_destructor(conn, _sql_socket_destructor);
 
        rcode = SQLAllocEnv(&conn->env_handle);
        if (!SQL_SUCCEEDED(rcode)) {
index a6d4f76..820d36c 100644 (file)
@@ -82,10 +82,8 @@ static const CONF_PARSER driver_config[] = {
 /* Prototypes */
 static sql_rcode_t sql_free_result(rlm_sql_handle_t*, rlm_sql_config_t*);
 
-static int sql_socket_destructor(void *c)
+static int _sql_socket_destructor(rlm_sql_mysql_conn_t *conn)
 {
-       rlm_sql_mysql_conn_t *conn = c;
-
        DEBUG2("rlm_sql_mysql: Socket destructor called, closing socket");
 
        if (conn->sock){
@@ -143,7 +141,7 @@ static sql_rcode_t sql_socket_init(rlm_sql_handle_t *handle, rlm_sql_config_t *c
        unsigned long sql_flags;
 
        MEM(conn = handle->conn = talloc_zero(handle, rlm_sql_mysql_conn_t));
-       talloc_set_destructor((void *) conn, sql_socket_destructor);
+       talloc_set_destructor(conn, _sql_socket_destructor);
 
        DEBUG("rlm_sql_mysql: Starting connect to MySQL server");
 
index 14aeaf7..1d2c027 100644 (file)
@@ -104,10 +104,8 @@ static int sql_check_error(rlm_sql_handle_t *handle, rlm_sql_config_t *config)
        }
 }
 
-static int sql_socket_destructor(void *c)
+static int _sql_socket_destructor(rlm_sql_oracle_conn_t *conn)
 {
-       rlm_sql_oracle_conn_t *conn = c;
-
        if (conn->ctx) {
                OCILogoff(conn->ctx, conn->error);
        }
@@ -140,7 +138,7 @@ static sql_rcode_t sql_socket_init(rlm_sql_handle_t *handle, rlm_sql_config_t *c
        rlm_sql_oracle_conn_t *conn;
 
        MEM(conn = handle->conn = talloc_zero(handle, rlm_sql_oracle_conn_t));
-       talloc_set_destructor((void *) conn, sql_socket_destructor);
+       talloc_set_destructor(conn, _sql_socket_destructor);
 
        /*
         *      Initialises the oracle environment
index 8f42ab3..46958e0 100644 (file)
@@ -208,10 +208,8 @@ static sql_rcode_t sql_classify_error(UNUSED PGresult const *result)
 }
 #endif
 
-static int sql_socket_destructor(void *c)
+static int _sql_socket_destructor(rlm_sql_postgres_conn_t *conn)
 {
-       rlm_sql_postgres_conn_t  *conn = c;
-
        DEBUG2("rlm_sql_postgresql: Socket destructor called, closing socket");
 
        if (!conn->db) {
@@ -238,7 +236,7 @@ static int CC_HINT(nonnull) sql_init_socket(rlm_sql_handle_t *handle, rlm_sql_co
        rlm_sql_postgres_conn_t *conn;
 
        MEM(conn = handle->conn = talloc_zero(handle, rlm_sql_postgres_conn_t));
-       talloc_set_destructor((void *) conn, sql_socket_destructor);
+       talloc_set_destructor(conn, _sql_socket_destructor);
 
        DEBUG2("rlm_sql_postgresql: Connecting using parameters: %s", driver->db_string);
        conn->db = PQconnectdb(driver->db_string);
index 2b879f4..4f207fc 100644 (file)
@@ -338,10 +338,9 @@ static int mod_instantiate(CONF_SECTION *conf, rlm_sql_config_t *config)
        return 0;
 }
 
-static int sql_socket_destructor(void *c)
+static int _sql_socket_destructor(rlm_sql_sqlite_conn_t *conn)
 {
        int status = 0;
-       rlm_sql_sqlite_conn_t * conn = c;
 
        DEBUG2("rlm_sql_sqlite: Socket destructor called, closing socket");
 
@@ -378,7 +377,7 @@ static sql_rcode_t sql_socket_init(rlm_sql_handle_t *handle, rlm_sql_config_t *c
        int status;
 
        MEM(conn = handle->conn = talloc_zero(handle, rlm_sql_sqlite_conn_t));
-       talloc_set_destructor((void *) conn, sql_socket_destructor);
+       talloc_set_destructor(conn, _sql_socket_destructor);
 
        INFO("rlm_sql_sqlite: Opening SQLite database \"%s\"", driver->filename);
 #ifdef HAVE_SQLITE3_OPEN_V2
index 3f929fd..c4b2fb7 100644 (file)
@@ -46,10 +46,8 @@ static sql_rcode_t sql_free_result(rlm_sql_handle_t *handle, rlm_sql_config_t *c
 static int sql_affected_rows(rlm_sql_handle_t *handle, rlm_sql_config_t *config);
 static int sql_num_fields(rlm_sql_handle_t *handle, rlm_sql_config_t *config);
 
-static int sql_socket_destructor(void *c)
+static int _sql_socket_destructor(rlm_sql_unixodbc_conn_t *conn)
 {
-       rlm_sql_unixodbc_conn_t *conn = c;
-
        DEBUG2("rlm_sql_unixodbc: Socket destructor called, closing socket");
 
        if (conn->statement) {
@@ -83,7 +81,7 @@ static sql_rcode_t sql_socket_init(rlm_sql_handle_t *handle, rlm_sql_config_t *c
        long err_handle;
 
        MEM(conn = handle->conn = talloc_zero(handle, rlm_sql_unixodbc_conn_t));
-       talloc_set_destructor((void *) conn, sql_socket_destructor);
+       talloc_set_destructor(conn, _sql_socket_destructor);
 
        /* 1. Allocate environment handle and register version */
        err_handle = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &conn->env);
index a64bd1e..c4c0c02 100644 (file)
@@ -39,10 +39,9 @@ RCSID("$Id$")
 #ifdef HAVE_PTHREAD_H
 #endif
 
-static int sql_conn_destructor(void *conn)
+static int _sql_conn_destructor(rlm_sql_handle_t *conn)
 {
-       rlm_sql_handle_t *handle = conn;
-       rlm_sql_t *inst = handle->inst;
+       rlm_sql_t *inst = conn->inst;
 
        rad_assert(inst);
 
@@ -71,7 +70,7 @@ static void *mod_conn_create(void *instance)
         *      Then we call our destructor to trigger an modules.sql.close
         *      event, then all the memory is freed.
         */
-       talloc_set_destructor((void *) handle, sql_conn_destructor);
+       talloc_set_destructor(handle, _sql_conn_destructor);
 
        rcode = (inst->module->sql_socket_init)(handle, inst->config);
        if (rcode != 0) {