summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Sowden <jeremy@azazel.net>2021-11-30 10:55:47 +0000
committerPablo Neira Ayuso <pablo@netfilter.org>2021-12-06 22:35:32 +0100
commit03abc9c6502199aa3e096663276f23d09d24e48d (patch)
tree61c795e4a0360694c91fce6f95e2c4d663cd597b
parent03e67f2e3a3e87fbbe286d5a67085015e6007329 (diff)
output: SQLITE3: fix memory-leak in error-handling
When mapping DB column names to input-keys, if we cannot find a key to match a column, the newly allocated `struct field` is leaked. Free it, and log an error message. Signed-off-by: Jeremy Sowden <jeremy@azazel.net> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r--output/sqlite3/ulogd_output_SQLITE3.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/output/sqlite3/ulogd_output_SQLITE3.c b/output/sqlite3/ulogd_output_SQLITE3.c
index 554b1b3..41aeeec 100644
--- a/output/sqlite3/ulogd_output_SQLITE3.c
+++ b/output/sqlite3/ulogd_output_SQLITE3.c
@@ -342,8 +342,12 @@ sqlite3_init_db(struct ulogd_pluginstance *pi)
}
strncpy(f->name, buf, ULOGD_MAX_KEYLEN);
- if ((f->key = ulogd_find_key(pi, buf)) == NULL)
+ if ((f->key = ulogd_find_key(pi, buf)) == NULL) {
+ ulogd_log(ULOGD_ERROR,
+ "SQLITE3: unknown input key: %s\n", buf);
+ free(f);
return -1;
+ }
TAILQ_INSERT_TAIL(&priv->fields, f, link);
}