rlm_acct_unique_t *inst = instance;
rlm_acct_unique_list_t *this, *next;
- free(inst->key);
for (this = inst->head; this != NULL; this = next) {
next = this->next;
free(this);
{
rlm_acctlog_t *inst = instance;
- free(inst->acctupdate);
- free(inst->acctstart);
- free(inst->acctstop);
- free(inst->accton);
- free(inst->acctoff);
free(inst);
return 0;
* Convert the rcode string to an int, and get rid of it
*/
data->rcode = str2rcode(data->rcode_str);
- free(data->rcode_str);
- data->rcode_str = NULL;
if (data->rcode == -1) {
free(data);
return -1;
{
struct attr_filter_instance *inst = instance;
pairlist_free(&inst->attrs);
- free(inst->attrsfile);
- free(inst->key);
free(inst);
return 0;
}
{
rlm_attr_rewrite_t *data = (rlm_attr_rewrite_t *) instance;
- if (data->attribute)
- free(data->attribute);
- if (data->search)
- free(data->search);
- if (data->replace)
- free(data->replace);
if (data->name)
free(data->name);
if (data->gdbm)
gdbm_close(data->gdbm);
- free(data->filename);
- free(data->key);
- free(data->post_auth);
- free(data->cache_ttl_str);
pthread_mutex_destroy(&data->mutex);
free(instance);
{
rlm_checkval_t *data = (rlm_checkval_t *) instance;
- if (data->item_name)
- free((char *)data->item_name);
- if (data->check_name)
- free((char *)data->check_name);
- if (data->data_type)
- free((char *)data->data_type);
-
free(instance);
return 0;
}
{
rlm_packet_t *inst = instance;
- if (inst->string) free(inst->string);
free(instance);
return 0;
}
paircompare_unregister(data->dict_attr, counter_cmp);
if (data->gdbm)
gdbm_close(data->gdbm);
- free(data->filename);
- free(data->reset);
- free(data->key_name);
- free(data->count_attribute);
- free(data->counter_name);
- free(data->check_name);
- if (data->reply_name) free(data->reply_name);
- free(data->service_type);
pthread_mutex_destroy(&data->mutex);
free(instance);
static int rlm_dbm_detach(void *instance)
{
struct rlm_dbm_t *inst = instance;
- free(inst -> userfile);
free(inst);
return 0;
}
pthread_mutex_destroy(&(inst->session_mutex));
- if (inst->default_eap_type_name) free(inst->default_eap_type_name);
free(inst);
return 0;
{
rlm_eap_gtc_t *inst = (rlm_eap_gtc_t *) arg;
- if (inst->challenge) free(inst->challenge);
- if (inst->auth_type_name) free(inst->auth_type_name);
free(inst);
{
rlm_eap_peap_t *inst = (rlm_eap_peap_t *) arg;
- if (inst->default_eap_type_name) free(inst->default_eap_type_name);
free(inst);
conf = inst->conf;
if (conf) {
- free(conf->dh_file);
- free(conf->ca_path);
- free(conf->certificate_file);
- free(conf->private_key_file);
- free(conf->private_key_password);
- free(conf->ca_file);
- free(conf->random_file);
-
- free(conf->check_cert_cn);
- free(conf->cipher_list);
- free(conf->check_cert_issuer);
-
memset(conf, 0, sizeof(*conf));
free(inst->conf);
inst->conf = NULL;
{
rlm_eap_ttls_t *inst = (rlm_eap_ttls_t *) arg;
- if (inst->default_eap_type_name) free(inst->default_eap_type_name);
free(inst);
* Do xlat of strings.
*/
static int exec_xlat(void *instance, REQUEST *request,
- char *fmt, char *out, int outlen,
+ char *fmt, char *out, size_t outlen,
UNUSED RADIUS_ESCAPE_STRING func)
{
int result;
free(inst->xlat_name);
}
- /*
- * Free the strings.
- */
- if (inst->program) free(inst->program);
- if (inst->input) free(inst->input);
- if (inst->output) free(inst->output);
- if (inst->packet_type) free(inst->packet_type);
-
free(inst);
return 0;
}
DEBUG("rlm_expiration: Account has expired");
- if (data->msg){
+ if (data->msg && data->msg[0]){
if (!radius_xlat(msg, sizeof(msg), data->msg, request, NULL)) {
radlog(L_ERR, "rlm_expiration: xlat failed.");
return RLM_MODULE_FAIL;
rlm_expiration_t *data = (rlm_expiration_t *) instance;
paircompare_unregister(PW_EXPIRATION, expirecmp);
- if (data->msg)
- free(data->msg);
free(instance);
return 0;
}
}
/*
- * If we are passed an empty reply-message don't use it
- */
- if (!strlen(data->msg)){
- free(data->msg);
- data->msg = NULL;
- }
-
- /*
* Register the expiration comparison operation.
*/
paircompare_register(PW_EXPIRATION, 0, expirecmp, data);
}
}
- free(inst->compat_mode);
free(inst->hashtable);
pairlist_free(&inst->defaults);
pairlist_free(&inst->acctusers);
- free(inst->usersfile);
- free(inst->acctusersfile);
- free(inst);
return 0;
}
gdbm_close(data->gdbm);
gdbm_close(data->ip);
- free(data->session_db);
- free(data->key);
- free(data->ip_index);
pthread_mutex_destroy(&data->op_mutex);
free(instance);
ldap_instance *inst = instance;
TLDAP_RADIUS *pair, *nextpair;
- if (inst->server)
- free((char *) inst->server);
- if (inst->login)
- free((char *) inst->login);
- if (inst->password)
- free((char *) inst->password);
- if (inst->basedn)
- free((char *) inst->basedn);
- if (inst->dictionary_mapping)
- free(inst->dictionary_mapping);
- if (inst->filter)
- free((char *) inst->filter);
- if (inst->base_filter)
- free((char *) inst->base_filter);
- if (inst->passwd_hdr)
- free((char *) inst->passwd_hdr);
- if (inst->passwd_attr)
- free((char *) inst->passwd_attr);
- if (inst->groupname_attr)
- free((char *) inst->groupname_attr);
- if (inst->groupmemb_filt)
- free((char *) inst->groupmemb_filt);
- if (inst->groupmemb_attr)
- free((char *) inst->groupmemb_attr);
- if (inst->access_attr)
- free((char *) inst->access_attr);
- if (inst->profile_attr)
- free((char *) inst->profile_attr);
-
if (inst->conns) {
int i;
{
rlm_linelog_t *inst = instance;
- free(inst->filename);
- free(inst->line);
free(inst);
return 0;
*/
DEBUG("rlm_logintime: timestr returned reject");
- if (data->msg){
+ if (data->msg && data->msg[0]){
char msg[MAX_STRING_LEN];
VALUE_PAIR *tmp;
return -1;
}
- /*
- * If we are passed an empty reply-message don't use it
- */
- if (!strlen(data->msg)){
- free(data->msg);
- data->msg = NULL;
- }
-
if (data->min_time == 0){
radlog(L_ERR, "rlm_logintime: Minimum timeout should be non zero.");
- free(data->msg);
free(data);
return -1;
}
paircompare_unregister(PW_CURRENT_TIME, timecmp);
paircompare_unregister(PW_TIME_OF_DAY, time_of_day);
- if (data->msg)
- free(data->msg);
free(instance);
return 0;
}
*/
static int mschap_detach(void *instance){
#define inst ((rlm_mschap_t *)instance)
- free(inst->passwd_file);
- free(inst->ntlm_auth);
if (inst->xlat_name) {
xlat_unregister(inst->xlat_name, mschap_xlat);
free(inst->xlat_name);
{
otp_option_t *inst = (otp_option_t *) instance;
- free(inst->otpd_rp);
- free(inst->chal_prompt);
free(instance);
/*
* Only the main thread instantiates and detaches instances,
{
rlm_pam_t *data = (rlm_pam_t *) instance;
- free((char *) data->pam_auth_name);
free((char *) data);
return 0;
}
{
rlm_pap_t *inst = (rlm_pap_t *) instance;
- free((char *)inst->scheme);
free(inst);
return 0;
static int passwd_detach (void *instance) {
#define inst ((struct passwd_instance *)instance)
if(inst->ht) release_ht(inst->ht);
- if (inst->filename != NULL) free(inst->filename);
- if (inst->format != NULL) free(inst->format);
- if (inst->delimiter != NULL) free(inst->delimiter);
free(instance);
return 0;
#undef inst
xlat_unregister(inst->xlat_name, perl_xlat);
free(inst->xlat_name);
- if (inst->func_authorize) free(inst->func_authorize);
- if (inst->func_authenticate) free(inst->func_authenticate);
- if (inst->func_accounting) free(inst->func_accounting);
- if (inst->func_preacct) free(inst->func_preacct);
- if (inst->func_checksimul) free(inst->func_checksimul);
- if (inst->func_pre_proxy) free(inst->func_pre_proxy);
- if (inst->func_post_proxy) free(inst->func_post_proxy);
- if (inst->func_post_auth) free(inst->func_post_auth);
- if (inst->func_detach) free(inst->func_detach);
#ifdef USE_ITHREADS
free(inst->perl_pool->head);
{
rlm_policy_t *inst = instance;
- if (inst->filename) free(inst->filename);
if (inst->policies) rbtree_free(inst->policies);
free(instance);
return 0;
pairlist_free(&(data->huntgroups));
pairlist_free(&(data->hints));
- free(data->huntgroup_file);
- free(data->hints_file);
free(data);
return 0;
{
rlm_protocol_filter_t *inst = instance;
- if (inst->filename) free(inst->filename);
- if (inst->key) free(inst->key);
if (inst->cs) cf_section_free(&(inst->cs));
free(instance);
next = p->next;
free(p);
}
- if (inst->filename) free(inst->filename);
- if (inst->username) free(inst->username);
free(inst);
return 0;
}
pthread_mutex_destroy(&(inst->cache.mutex));
- if (inst->filename) free(inst->filename);
- if (inst->username) free(inst->username);
rbtree_free(inst->user_tree);
{
rlm_smb_t *data = (rlm_smb_t *) instance;
- if (data->server) free(data->server);
- if (data->backup) free(data->backup);
- if (data->domain) free(data->domain);
free(instance);
return 0;
{
rlm_sqlippool_t * data = (rlm_sqlippool_t *) instance;
- free(data->sql_instance_name);
- free(data->pool_name);
-
- free(data->allocate_begin);
- free(data->allocate_clear);
- free(data->allocate_find);
- free(data->allocate_update);
- free(data->allocate_commit);
- free(data->allocate_rollback);
-
- free(data->pool_check);
-
- free(data->start_begin);
- free(data->start_update);
- free(data->start_commit);
- free(data->start_rollback);
-
- free(data->alive_begin);
- free(data->alive_update);
- free(data->alive_commit);
- free(data->alive_rollback);
-
- free(data->stop_begin);
- free(data->stop_clear);
- free(data->stop_commit);
- free(data->stop_rollback);
-
- free(data->on_begin);
- free(data->on_clear);
- free(data->on_commit);
- free(data->on_rollback);
-
- free(data->off_begin);
- free(data->off_clear);
- free(data->off_commit);
- free(data->off_rollback);
-
- free(data->log_exists);
- free(data->log_failed);
- free(data->log_nopool);
- free(data->log_success);
- free(data->log_clear);
- free(data->defaultpool);
-
return 0;
}
static int unix_detach(void *instance)
{
#define inst ((struct unix_instance *)instance)
- if (inst->radwtmp)
- free(inst->radwtmp);
paircompare_unregister(PW_GROUP, groupcmp);
#ifdef PW_GROUP_NAME