From 9333710e5fb2a9738c0de14b3d789d61dfaee2fa Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Wed, 10 Jan 2024 12:53:19 +0100 Subject: [PATCH] tree: Handle mx_mysql_option_set_default_file errors After commit 2e8005178e4 ("mx_mysql: Fix warning in mx_mysql_option_set_default_file"), mx_mysql_option_set_default_file() no longer outputs a warning by itself when the file is not readable. MySQL itself silently ignores unreadable config files. Make all callers handle the error. --- mxqadmin.c | 3 ++- mxqd.c | 3 ++- mxqdump.c | 3 ++- mxqkill.c | 3 ++- mxqset.c | 3 ++- mxqsub.c | 3 ++- 6 files changed, 12 insertions(+), 6 deletions(-) diff --git a/mxqadmin.c b/mxqadmin.c index c4746f3c..8b25ba57 100644 --- a/mxqadmin.c +++ b/mxqadmin.c @@ -369,7 +369,8 @@ int main(int argc, char *argv[]) res = mx_mysql_initialize(&mysql); assert(res == 0); - mx_mysql_option_set_default_file(mysql, arg_mysql_default_file); + if (mx_mysql_option_set_default_file(mysql, arg_mysql_default_file) < 0) + mx_die("%s: %s\n", arg_mysql_default_file, mx_mysql_error()); mx_mysql_option_set_default_group(mysql, arg_mysql_default_group); res = mx_mysql_connect_forever(&mysql); diff --git a/mxqd.c b/mxqd.c index 7079d273..30f2c3c4 100644 --- a/mxqd.c +++ b/mxqd.c @@ -733,7 +733,8 @@ static int server_init(struct mxq_server *server, int argc, char *argv[]) res = mx_mysql_initialize(&(server->mysql)); assert(res == 0); - mx_mysql_option_set_default_file(server->mysql, arg_mysql_default_file); + if (mx_mysql_option_set_default_file(server->mysql, arg_mysql_default_file) < 0) + mx_die("%s: %s\n", arg_mysql_default_file, mx_mysql_error()); mx_mysql_option_set_default_group(server->mysql, arg_mysql_default_group); mx_mysql_option_set_reconnect(server->mysql, 1); diff --git a/mxqdump.c b/mxqdump.c index 0e69b066..5cb51b1d 100644 --- a/mxqdump.c +++ b/mxqdump.c @@ -730,7 +730,8 @@ int main(int argc, char *argv[]) res = mx_mysql_initialize(&mysql); assert(res == 0); - mx_mysql_option_set_default_file(mysql, arg_mysql_default_file); + if (mx_mysql_option_set_default_file(mysql, arg_mysql_default_file) < 0) + mx_die("%s: %s\n", arg_mysql_default_file, mx_mysql_error()); mx_mysql_option_set_default_group(mysql, arg_mysql_default_group); res = mx_mysql_connect_forever(&mysql); diff --git a/mxqkill.c b/mxqkill.c index 4dbfd048..3b3ead3e 100644 --- a/mxqkill.c +++ b/mxqkill.c @@ -374,7 +374,8 @@ int main(int argc, char *argv[]) res = mx_mysql_initialize(&mysql); assert(res == 0); - mx_mysql_option_set_default_file(mysql, arg_mysql_default_file); + if (mx_mysql_option_set_default_file(mysql, arg_mysql_default_file) < 0) + mx_die("%s: %s\n", arg_mysql_default_file, mx_mysql_error()); mx_mysql_option_set_default_group(mysql, arg_mysql_default_group); res = mx_mysql_connect_forever(&mysql); diff --git a/mxqset.c b/mxqset.c index 6a953af9..3d4a24d1 100644 --- a/mxqset.c +++ b/mxqset.c @@ -216,7 +216,8 @@ int main(int argc, char **argv) { exit_usage(); assert(mx_mysql_initialize(&mysql) == 0); - mx_mysql_option_set_default_file(mysql, MXQ_MYSQL_DEFAULT_FILE); + if (mx_mysql_option_set_default_file(mysql, MXQ_MYSQL_DEFAULT_FILE) < 0) + mx_die("%s: %s\n", MXQ_MYSQL_DEFAULT_FILE, mx_mysql_error()); mx_mysql_option_set_default_group(mysql, MXQ_MYSQL_DEFAULT_GROUP); assert(mx_mysql_connect_forever(&mysql) == 0); diff --git a/mxqsub.c b/mxqsub.c index b23c7255..5ee8cee3 100644 --- a/mxqsub.c +++ b/mxqsub.c @@ -1160,7 +1160,8 @@ int main(int argc, char *argv[]) res = mx_mysql_initialize(&mysql); assert(res == 0); - mx_mysql_option_set_default_file(mysql, arg_mysql_default_file); + if (mx_mysql_option_set_default_file(mysql, arg_mysql_default_file) < 0) + mx_die("%s: %s\n", arg_mysql_default_file, mx_mysql_error()); mx_mysql_option_set_default_group(mysql, arg_mysql_default_group); res = mx_mysql_connect_forever(&mysql);