aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org>2016-02-21 15:40:59 +0200
committerSergey Poznyakoff <gray@gnu.org>2016-02-21 15:40:59 +0200
commit722533c595a0976e50cca45dca7f28ff7e599970 (patch)
tree6534bb0f16d74e75237497f3838034ffe7c84509 /src
parent599a468169078449b68e7c0ef711c14fb746f0ea (diff)
downloadpies-722533c595a0976e50cca45dca7f28ff7e599970.tar.gz
pies-722533c595a0976e50cca45dca7f28ff7e599970.tar.bz2
Fix memory leaks when reconfiguring
* grecs: Upgrade. * src/acl.c (_acl_common_section_parser): Free old value. * src/pies.c: Mark statically initialized keywords with GRECS_CONST.
Diffstat (limited to 'src')
-rw-r--r--src/acl.c5
-rw-r--r--src/pies.c16
2 files changed, 12 insertions, 9 deletions
diff --git a/src/acl.c b/src/acl.c
index e7523f5..53e5dd8 100644
--- a/src/acl.c
+++ b/src/acl.c
@@ -535,7 +535,10 @@ _acl_common_section_parser (enum grecs_callback_command cmd,
if (tag && (acl = pies_acl_install (acl)) == NULL)
return 1;
if (pacl)
- *pacl = acl;
+ {
+ pies_acl_free (*pacl);
+ *pacl = acl;
+ }
break;
case grecs_callback_section_end:
diff --git a/src/pies.c b/src/pies.c
index d1bcfd8..3d7f593 100644
--- a/src/pies.c
+++ b/src/pies.c
@@ -1294,7 +1294,7 @@ struct grecs_keyword control_keywords[] = {
{"realm",
N_("name"),
N_("Authentication realm name"),
- grecs_type_string, GRECS_DFLT,
+ grecs_type_string, GRECS_CONST,
&control.realm, 0,
NULL,
},
@@ -1378,12 +1378,12 @@ struct grecs_keyword pies_keywords[] = {
{"state-directory",
NULL,
N_("Full file name of the program state directory."),
- grecs_type_string, GRECS_DFLT,
+ grecs_type_string, GRECS_CONST,
&statedir, 0, NULL},
{"pidfile",
NULL,
N_("Write PID to this file."),
- grecs_type_string, GRECS_DFLT,
+ grecs_type_string, GRECS_CONST,
&pidfile, 0,
NULL,
},
@@ -1404,13 +1404,13 @@ struct grecs_keyword pies_keywords[] = {
{"qotd-file",
NULL,
N_("Set location of the QOTD file."),
- grecs_type_string, GRECS_DFLT,
+ grecs_type_string, GRECS_CONST,
&qotdfile, 0,
NULL },
{"user",
NULL,
N_("Run with this user privileges."),
- grecs_type_string, GRECS_DFLT,
+ grecs_type_string, GRECS_CONST,
&pies_privs.user, 0,
NULL,
},
@@ -1488,21 +1488,21 @@ struct grecs_keyword pies_keywords[] = {
{"meta1-queue-dir",
NULL,
N_("Set the name of MeTA1 queue directory (default /var/spool/meta1)."),
- grecs_type_string, GRECS_DFLT,
+ grecs_type_string, GRECS_CONST,
&meta1_queue_dir, 0,
NULL,
},
{"mailer-program",
NULL,
N_("Full path to the mailer binary."),
- grecs_type_string, GRECS_DFLT,
+ grecs_type_string, GRECS_CONST,
&mailer_program, 0,
NULL
},
{"mailer-command-line",
NULL,
N_("Mailer command line (without recipient addresses)."),
- grecs_type_string, GRECS_DFLT,
+ grecs_type_string, GRECS_CONST,
&mailer_command_line, 0,
NULL
},

Return to:

Send suggestions and report system problems to the System administrator.