summaryrefslogtreecommitdiff
path: root/sql/mysqld.cc
diff options
context:
space:
mode:
authorOleksandr Byelkin <sanja@mariadb.com>2023-01-31 11:01:48 +0100
committerOleksandr Byelkin <sanja@mariadb.com>2023-01-31 11:01:48 +0100
commit76bcea3154a3ac2c26024ac5cb241e19e0e277d9 (patch)
treecbe9339633c5eb6b9206c89a3b1c65495f05e868 /sql/mysqld.cc
parent51fc6b91d2d3c40a69b78f2e47641107d65a957b (diff)
parentde2d08994255739d53ba28ea34288ca8352029b1 (diff)
downloadmariadb-git-76bcea3154a3ac2c26024ac5cb241e19e0e277d9.tar.gz
Merge branch '10.9' into 10.10
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 5a26900beb9..a2eca4926ea 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -5057,12 +5057,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
@@ -5893,8 +5892,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,
@@ -7880,7 +7880,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