diff options
author | Jeremy Sowden <jeremy@azazel.net> | 2021-11-30 10:55:42 +0000 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2021-12-06 22:27:45 +0100 |
commit | 23dcfc558ecfcf7cc7ef8a002dea8a3ac31f0335 (patch) | |
tree | e1b932a79c2acf94681aae7b7c4b60b7a50ac7b0 /output | |
parent | d429162387ce4fe12e7e35d911680cb1c37f2cd2 (diff) |
output: DBI: fix configuration of DB connection
In `open_db_dbi`, we test whether various config-settings are defined
by comparing their string values to `NULL`. However, the `u.string`
member of `struct config_entry` is an array, not a pointer, so it is
never `NULL`. Instead, check whether the string is empty.
Signed-off-by: Jeremy Sowden <jeremy@azazel.net>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'output')
-rw-r--r-- | output/dbi/ulogd_output_DBI.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/output/dbi/ulogd_output_DBI.c b/output/dbi/ulogd_output_DBI.c index 57e3058..88af7a1 100644 --- a/output/dbi/ulogd_output_DBI.c +++ b/output/dbi/ulogd_output_DBI.c @@ -176,9 +176,9 @@ static int open_db_dbi(struct ulogd_pluginstance *upi) { struct dbi_instance *pi = (struct dbi_instance *) upi->private; char *server = host_ce(upi->config_kset).u.string; - char *user = user_ce(upi->config_kset).u.string; - char *pass = pass_ce(upi->config_kset).u.string; - char *db = db_ce(upi->config_kset).u.string; + char *user = user_ce(upi->config_kset).u.string; + char *pass = pass_ce(upi->config_kset).u.string; + char *db = db_ce(upi->config_kset).u.string; char *dbtype = dbtype_ce(upi->config_kset).u.string; dbi_driver driver; int ret; @@ -203,13 +203,13 @@ static int open_db_dbi(struct ulogd_pluginstance *upi) return -1; } - if (server) + if (server[0]) dbi_conn_set_option(pi->dbh, "host", server); - if (user) + if (user[0]) dbi_conn_set_option(pi->dbh, "username", user); - if (pass) + if (pass[0]) dbi_conn_set_option(pi->dbh, "password", pass); - if (db) + if (db[0]) dbi_conn_set_option(pi->dbh, "dbname", db); ret = dbi_conn_connect(pi->dbh); |