Replace some usage of safe_strcat() with strxnmov()

This commit is contained in:
Monty 2024-10-08 21:48:30 +03:00
parent 0403313bdb
commit 7e5ad5dd9e
2 changed files with 14 additions and 15 deletions

View File

@ -5728,12 +5728,11 @@ int mysqld_main(int argc, char **argv)
mysqld_port, MYSQL_COMPILATION_COMMENT); mysqld_port, MYSQL_COMPILATION_COMMENT);
else else
{ {
char real_server_version[2 * SERVER_VERSION_LENGTH + 10]; char real_server_version[2 * SERVER_VERSION_LENGTH + 10], *pos;
set_server_version(real_server_version, sizeof(real_server_version)); pos= set_server_version(real_server_version, sizeof(real_server_version)-1);
safe_strcat(real_server_version, sizeof(real_server_version), "' as '"); strxnmov(pos, sizeof(real_server_version) - 1 - (pos-real_server_version),
safe_strcat(real_server_version, sizeof(real_server_version), "' as '", server_version, NullS);
server_version);
sql_print_information(ER_DEFAULT(ER_STARTUP), my_progname, sql_print_information(ER_DEFAULT(ER_STARTUP), my_progname,
real_server_version, real_server_version,
@ -8797,7 +8796,7 @@ static int get_options(int *argc_ptr, char ***argv_ptr)
(MYSQL_SERVER_SUFFIX is set by the compilation environment) (MYSQL_SERVER_SUFFIX is set by the compilation environment)
*/ */
void set_server_version(char *buf, size_t size) char *set_server_version(char *buf, size_t size)
{ {
bool is_log= opt_log || global_system_variables.sql_log_slow || opt_bin_log; bool is_log= opt_log || global_system_variables.sql_log_slow || opt_bin_log;
bool is_debug= IF_DBUG(!strstr(MYSQL_SERVER_SUFFIX_STR, "-debug"), 0); bool is_debug= IF_DBUG(!strstr(MYSQL_SERVER_SUFFIX_STR, "-debug"), 0);
@ -8806,14 +8805,14 @@ void set_server_version(char *buf, size_t size)
!strstr(MYSQL_SERVER_SUFFIX_STR, "-valgrind") ? "-valgrind" : !strstr(MYSQL_SERVER_SUFFIX_STR, "-valgrind") ? "-valgrind" :
#endif #endif
""; "";
strxnmov(buf, size - 1, return strxnmov(buf, size - 1,
MYSQL_SERVER_VERSION, MYSQL_SERVER_VERSION,
MYSQL_SERVER_SUFFIX_STR, MYSQL_SERVER_SUFFIX_STR,
IF_EMBEDDED("-embedded", ""), IF_EMBEDDED("-embedded", ""),
is_valgrind, is_valgrind,
is_debug ? "-debug" : "", is_debug ? "-debug" : "",
is_log ? "-log" : "", is_log ? "-log" : "",
NullS); NullS);
} }

View File

@ -928,7 +928,7 @@ inline void table_case_convert(char * name, uint length)
files_charset_info->casedn(name, length, name, length); files_charset_info->casedn(name, length, name, length);
} }
extern void set_server_version(char *buf, size_t size); extern char *set_server_version(char *buf, size_t size);
#define current_thd _current_thd() #define current_thd _current_thd()
void set_current_thd(THD *thd); void set_current_thd(THD *thd);