]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Use talloc for handles
authorAlan T. DeKok <aland@freeradius.org>
Sat, 16 Mar 2013 18:02:56 +0000 (14:02 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Sat, 16 Mar 2013 18:02:56 +0000 (14:02 -0400)
src/modules/rlm_redis/rlm_redis.c
src/modules/rlm_redis/rlm_redis.h

index ca748ad9da30c65432a03268c8dccab90efbf874..27a3870950559df557e9d5a14e77581c762978bb 100644 (file)
@@ -43,7 +43,7 @@ static const CONF_PARSER module_config[] = {
        { NULL, -1, 0, NULL, NULL} /* end the list */
 };
 
-static int redis_delete_conn(UNUSED void *ctx, void *conn)
+static int conn_delete(UNUSED void *ctx, void *conn)
 {
        REDISSOCK *dissocket = conn;
 
@@ -54,11 +54,11 @@ static int redis_delete_conn(UNUSED void *ctx, void *conn)
                dissocket->reply = NULL;
        }
 
-       free(dissocket);
+       talloc_free(dissocket);
        return 1;
 }
 
-static void *redis_create_conn(void *ctx)
+static void *conn_create(void *ctx)
 {
        REDIS_INST *inst = ctx;
        REDISSOCK *dissocket = NULL;
@@ -130,8 +130,7 @@ static void *redis_create_conn(void *ctx)
                }
        }
 
-       dissocket = rad_malloc(sizeof(*dissocket));
-       memset(dissocket, 0, sizeof(*dissocket));
+       dissocket = talloc_zero(inst, REDISSOCK);
        dissocket->conn = conn;
 
        return dissocket;
@@ -308,8 +307,8 @@ static int redis_instantiate(CONF_SECTION *conf, void **instance)
        xlat_register(inst->xlat_name, redis_xlat, inst);
 
        inst->pool = fr_connection_pool_init(conf, inst,
-                                            redis_create_conn, NULL,
-                                            redis_delete_conn);
+                                            conn_create, NULL,
+                                            conn_delete);
        if (!inst->pool) {
                return -1;
        }
index a49c923df2d28b62cd1c192deef8f18211b825ba..0cde2fbbd3b8c3835c983137da16bb27972bd900 100644 (file)
@@ -42,7 +42,7 @@ typedef struct redis_socket_t {
 typedef struct rlm_redis_t REDIS_INST;
 
 typedef struct rlm_redis_t {
-       char        *xlat_name;
+       const char          *xlat_name;
 
        char        *hostname;
        int          port;