summaryrefslogtreecommitdiff
path: root/src/config.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/config.c')
-rw-r--r--src/config.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/config.c b/src/config.c
index bb43e7d81..5436b0663 100644
--- a/src/config.c
+++ b/src/config.c
@@ -774,7 +774,11 @@ int parse_directive(Directive * d, char *dir, int ac, char *av[MAXPARAMS],
*(int *) d->params[i].ptr = val;
break;
case PARAM_STRING:
- Anope_Free(*(char **)d->params[i].ptr);
+ /*
+ * Anope_Free(*(char **)d->params[i].ptr);
+ * Historically dumb modules pass uninitialized values here so
+ * we can't free this
+ */
*(char **) d->params[i].ptr = sstrdup(av[optind++]);
if (!d->params[i].ptr) {
error(linenum, "%s: Out of memory", d->name);