summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/conf.c4
-rw-r--r--lib/radsec.c2
2 files changed, 4 insertions, 2 deletions
diff --git a/lib/conf.c b/lib/conf.c
index a1ac5b7..06ae3aa 100644
--- a/lib/conf.c
+++ b/lib/conf.c
@@ -99,10 +99,12 @@ rs_context_read_config(struct rs_context *ctx, const char *config_file)
else
config->realms = r;
cfg_realm = cfg_getnsec (cfg, "realm", i);
+ /* We use a copy of return value of cfg_title since it's a
+ const. */
s = cfg_title (cfg_realm);
if (s == NULL)
return rs_err_ctx_push_fl (ctx, RSE_CONFIG, __FILE__, __LINE__,
- "missing config name");
+ "missing realm name");
r->name = strdup (s); /* FIXME: Don't strdup. */
if (!r->name)
return rs_err_ctx_push_fl (ctx, RSE_NOMEM, __FILE__, __LINE__, NULL);
diff --git a/lib/radsec.c b/lib/radsec.c
index 6ff047d..c7ba68c 100644
--- a/lib/radsec.c
+++ b/lib/radsec.c
@@ -158,7 +158,7 @@ rs_context_destroy (struct rs_context *ctx)
p = p->next;
rs_free (ctx, tmp);
}
- rs_free (ctx, r->name); /* FIXME: Stop freeing once we stop strdup in rs_context_read_config(). */
+ free (ctx, r->name);
r = r->next;
rs_free (ctx, tmp);
}