summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/conffile.c12
-rw-r--r--src/ulogd.c2
2 files changed, 14 insertions, 0 deletions
diff --git a/src/conffile.c b/src/conffile.c
index e55ff30..f84fcf5 100644
--- a/src/conffile.c
+++ b/src/conffile.c
@@ -256,6 +256,18 @@ int config_parse_file(const char *section, struct config_keyset *kset)
break;
}
pr_debug("parse_file: exiting main loop\n");
+
+ if (i == kset->num_ces) {
+ config_errce = calloc(1, sizeof(struct config_entry));
+ if (config_errce == NULL) {
+ err = -ERROOM;
+ goto cpf_error;
+ }
+ memcpy(&config_errce->key[0], wordbuf,
+ sizeof(config_errce->key) - 1);
+ err = -ERRUNKN;
+ goto cpf_error;
+ }
}
diff --git a/src/ulogd.c b/src/ulogd.c
index b146f94..917ae3a 100644
--- a/src/ulogd.c
+++ b/src/ulogd.c
@@ -281,6 +281,8 @@ int ulogd_parse_configfile(const char *section, struct config_keyset *ce)
case -ERRUNKN:
ulogd_log(ULOGD_ERROR, "unknown config key \"%s\"\n",
config_errce->key);
+ free(config_errce);
+ config_errce = NULL;
break;
case -ERRSECTION:
ulogd_log(ULOGD_ERROR, "section \"%s\" not found\n", section);