From: Alan T. DeKok Date: Sat, 16 Mar 2013 18:02:56 +0000 (-0400) Subject: Use talloc for handles X-Git-Tag: release_3_0_0_beta1~727 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a1050a6ecbb6ae5c0184af8af4a7b8f93d8495b6;p=thirdparty%2Ffreeradius-server.git Use talloc for handles --- diff --git a/src/modules/rlm_redis/rlm_redis.c b/src/modules/rlm_redis/rlm_redis.c index ca748ad9da3..27a38709505 100644 --- a/src/modules/rlm_redis/rlm_redis.c +++ b/src/modules/rlm_redis/rlm_redis.c @@ -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; } diff --git a/src/modules/rlm_redis/rlm_redis.h b/src/modules/rlm_redis/rlm_redis.h index a49c923df2d..0cde2fbbd3b 100644 --- a/src/modules/rlm_redis/rlm_redis.h +++ b/src/modules/rlm_redis/rlm_redis.h @@ -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;