aboutsummaryrefslogtreecommitdiff
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
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.
m---------grecs0
-rw-r--r--src/acl.c5
-rw-r--r--src/pies.c16
3 files changed, 12 insertions, 9 deletions
diff --git a/grecs b/grecs
Subproject 08070e48d83cd34cddb08be33cf4993fc096c9c Subproject a3f25ce24dcaff123fb71db89419d3ae12ddb57
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,
535 if (tag && (acl = pies_acl_install (acl)) == NULL) 535 if (tag && (acl = pies_acl_install (acl)) == NULL)
536 return 1; 536 return 1;
537 if (pacl) 537 if (pacl)
538 *pacl = acl; 538 {
539 pies_acl_free (*pacl);
540 *pacl = acl;
541 }
539 break; 542 break;
540 543
541 case grecs_callback_section_end: 544 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[] = {
1294 {"realm", 1294 {"realm",
1295 N_("name"), 1295 N_("name"),
1296 N_("Authentication realm name"), 1296 N_("Authentication realm name"),
1297 grecs_type_string, GRECS_DFLT, 1297 grecs_type_string, GRECS_CONST,
1298 &control.realm, 0, 1298 &control.realm, 0,
1299 NULL, 1299 NULL,
1300 }, 1300 },
@@ -1378,12 +1378,12 @@ struct grecs_keyword pies_keywords[] = {
1378 {"state-directory", 1378 {"state-directory",
1379 NULL, 1379 NULL,
1380 N_("Full file name of the program state directory."), 1380 N_("Full file name of the program state directory."),
1381 grecs_type_string, GRECS_DFLT, 1381 grecs_type_string, GRECS_CONST,
1382 &statedir, 0, NULL}, 1382 &statedir, 0, NULL},
1383 {"pidfile", 1383 {"pidfile",
1384 NULL, 1384 NULL,
1385 N_("Write PID to this file."), 1385 N_("Write PID to this file."),
1386 grecs_type_string, GRECS_DFLT, 1386 grecs_type_string, GRECS_CONST,
1387 &pidfile, 0, 1387 &pidfile, 0,
1388 NULL, 1388 NULL,
1389 }, 1389 },
@@ -1404,13 +1404,13 @@ struct grecs_keyword pies_keywords[] = {
1404 {"qotd-file", 1404 {"qotd-file",
1405 NULL, 1405 NULL,
1406 N_("Set location of the QOTD file."), 1406 N_("Set location of the QOTD file."),
1407 grecs_type_string, GRECS_DFLT, 1407 grecs_type_string, GRECS_CONST,
1408 &qotdfile, 0, 1408 &qotdfile, 0,
1409 NULL }, 1409 NULL },
1410 {"user", 1410 {"user",
1411 NULL, 1411 NULL,
1412 N_("Run with this user privileges."), 1412 N_("Run with this user privileges."),
1413 grecs_type_string, GRECS_DFLT, 1413 grecs_type_string, GRECS_CONST,
1414 &pies_privs.user, 0, 1414 &pies_privs.user, 0,
1415 NULL, 1415 NULL,
1416 }, 1416 },
@@ -1488,21 +1488,21 @@ struct grecs_keyword pies_keywords[] = {
1488 {"meta1-queue-dir", 1488 {"meta1-queue-dir",
1489 NULL, 1489 NULL,
1490 N_("Set the name of MeTA1 queue directory (default /var/spool/meta1)."), 1490 N_("Set the name of MeTA1 queue directory (default /var/spool/meta1)."),
1491 grecs_type_string, GRECS_DFLT, 1491 grecs_type_string, GRECS_CONST,
1492 &meta1_queue_dir, 0, 1492 &meta1_queue_dir, 0,
1493 NULL, 1493 NULL,
1494 }, 1494 },
1495 {"mailer-program", 1495 {"mailer-program",
1496 NULL, 1496 NULL,
1497 N_("Full path to the mailer binary."), 1497 N_("Full path to the mailer binary."),
1498 grecs_type_string, GRECS_DFLT, 1498 grecs_type_string, GRECS_CONST,
1499 &mailer_program, 0, 1499 &mailer_program, 0,
1500 NULL 1500 NULL
1501 }, 1501 },
1502 {"mailer-command-line", 1502 {"mailer-command-line",
1503 NULL, 1503 NULL,
1504 N_("Mailer command line (without recipient addresses)."), 1504 N_("Mailer command line (without recipient addresses)."),
1505 grecs_type_string, GRECS_DFLT, 1505 grecs_type_string, GRECS_CONST,
1506 &mailer_command_line, 0, 1506 &mailer_command_line, 0,
1507 NULL 1507 NULL
1508 }, 1508 },

Return to:

Send suggestions and report system problems to the System administrator.