From 23dcfc558ecfcf7cc7ef8a002dea8a3ac31f0335 Mon Sep 17 00:00:00 2001 From: Jeremy Sowden Date: Tue, 30 Nov 2021 10:55:42 +0000 Subject: 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 Signed-off-by: Pablo Neira Ayuso --- output/dbi/ulogd_output_DBI.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'output') 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); -- cgit v1.2.3