summaryrefslogtreecommitdiff
path: root/sql/mysqld.cc
diff options
context:
space:
mode:
authorOleksandr Byelkin <sanja@mariadb.com>2023-01-31 10:37:31 +0100
committerOleksandr Byelkin <sanja@mariadb.com>2023-01-31 10:37:31 +0100
commitde2d08994255739d53ba28ea34288ca8352029b1 (patch)
treecc557fe9fa3655a03cae9b6895c6e8a0348b2f86 /sql/mysqld.cc
parent4d9fe4032b768e04e33482d83199882c7bb0d9d8 (diff)
parent638625278e7cadf42633e6f9d1b663ca1e3e1bb1 (diff)
downloadmariadb-git-de2d08994255739d53ba28ea34288ca8352029b1.tar.gz
Merge branch '10.8' into 10.9
Diffstat (limited to 'sql/mysqld.cc')
-rw-r--r--sql/mysqld.cc15
1 files changed, 8 insertions, 7 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 2644ac3c896..4dc708c9383 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -5055,12 +5055,11 @@ static int init_server_components()
else // full wsrep initialization
{
// add basedir/bin to PATH to resolve wsrep script names
- char* const tmp_path= (char*)my_alloca(strlen(mysql_home) +
- strlen("/bin") + 1);
+ size_t tmp_path_size= strlen(mysql_home) + 5; /* including "/bin" */
+ char* const tmp_path= (char*)my_alloca(tmp_path_size);
if (tmp_path)
{
- strcpy(tmp_path, mysql_home);
- strcat(tmp_path, "/bin");
+ snprintf(tmp_path, tmp_path_size, "%s/bin", mysql_home);
wsrep_prepend_PATH(tmp_path);
}
else
@@ -5891,8 +5890,9 @@ int mysqld_main(int argc, char **argv)
char real_server_version[2 * SERVER_VERSION_LENGTH + 10];
set_server_version(real_server_version, sizeof(real_server_version));
- strcat(real_server_version, "' as '");
- strcat(real_server_version, server_version);
+ safe_strcat(real_server_version, sizeof(real_server_version), "' as '");
+ safe_strcat(real_server_version, sizeof(real_server_version),
+ server_version);
sql_print_information(ER_DEFAULT(ER_STARTUP), my_progname,
real_server_version,
@@ -7890,7 +7890,8 @@ static int mysql_init_variables(void)
}
else
my_path(prg_dev, my_progname, "mysql/bin");
- strcat(prg_dev,"/../"); // Remove 'bin' to get base dir
+ // Remove 'bin' to get base dir
+ safe_strcat(prg_dev, sizeof(prg_dev), "/../");
cleanup_dirname(mysql_home,prg_dev);
}
#else