diff options
author | unknown <monty@mysql.com> | 2004-02-20 00:26:05 +0200 |
---|---|---|
committer | unknown <monty@mysql.com> | 2004-02-20 00:26:05 +0200 |
commit | 51a6b4f47ad03031105b0f8ac810d522a804695e (patch) | |
tree | bfdcdd3080ed1dd1bb67455ac9ab2043d09050c0 | |
parent | 403255b887483d73bbefa5506bcbb008136809c3 (diff) | |
download | mariadb-git-51a6b4f47ad03031105b0f8ac810d522a804695e.tar.gz |
Safety fixes (strnmov -> strmake)
sql/mysqld.cc:
Safety fix
sql/set_var.cc:
Safety fix
sql/sql_db.cc:
indentation cleanup
-rw-r--r-- | sql/mysqld.cc | 8 | ||||
-rw-r--r-- | sql/set_var.cc | 10 | ||||
-rw-r--r-- | sql/sql_db.cc | 13 |
3 files changed, 18 insertions, 13 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 3daa0d7990a..af61d624464 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -5619,7 +5619,7 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)), fprintf(stderr, "Invalid ft-boolean-syntax string: %s\n", argument); exit(1); } - strnmov(opt_ft_boolean_syntax, argument, sizeof(ft_boolean_syntax)); + strmake(opt_ft_boolean_syntax, argument, sizeof(ft_boolean_syntax)-1); break; case OPT_SKIP_SAFEMALLOC: #ifdef SAFEMALLOC @@ -5668,7 +5668,8 @@ static void get_options(int argc,char **argv) int ho_error; my_getopt_register_get_addr(mysql_getopt_value); - strnmov(opt_ft_boolean_syntax, ft_boolean_syntax, sizeof(ft_boolean_syntax)); + strmake(opt_ft_boolean_syntax, ft_boolean_syntax, + sizeof(ft_boolean_syntax)-1); if ((ho_error=handle_options(&argc, &argv, my_long_options, get_one_option))) exit(ho_error); if (argc > 0) @@ -5724,7 +5725,8 @@ static void get_options(int argc,char **argv) table_alias_charset= (lower_case_table_names ? files_charset_info : &my_charset_bin); - strnmov(ft_boolean_syntax, opt_ft_boolean_syntax, sizeof(ft_boolean_syntax)); + strmake(ft_boolean_syntax, opt_ft_boolean_syntax, + sizeof(ft_boolean_syntax)-1); if (opt_short_log_format) opt_specialflag|= SPECIAL_SHORT_LOG_FORMAT; diff --git a/sql/set_var.cc b/sql/set_var.cc index 975d7da1753..f3728ce9e5d 100644 --- a/sql/set_var.cc +++ b/sql/set_var.cc @@ -860,8 +860,8 @@ static void sys_default_init_slave(THD* thd, enum_var_type type) static int sys_check_ftb_syntax(THD *thd, set_var *var) { if (thd->master_access & SUPER_ACL) - return ft_boolean_check_syntax_string(var->value->str_value.ptr()) ? - -1 : 0; + return ft_boolean_check_syntax_string(var->value->str_value.c_ptr()) ? + -1 : 0; else { my_error(ER_SPECIFIC_ACCESS_DENIED_ERROR, MYF(0), "SUPER"); @@ -871,13 +871,15 @@ static int sys_check_ftb_syntax(THD *thd, set_var *var) static bool sys_update_ftb_syntax(THD *thd, set_var * var) { - strnmov(ft_boolean_syntax, var->value->str_value.ptr(), sizeof(ft_boolean_syntax)); + strmake(ft_boolean_syntax, var->value->str_value.c_ptr(), + sizeof(ft_boolean_syntax)-1); return 0; } static void sys_default_ftb_syntax(THD *thd, enum_var_type type) { - strnmov(ft_boolean_syntax, opt_ft_boolean_syntax, sizeof(ft_boolean_syntax)); + strmake(ft_boolean_syntax, opt_ft_boolean_syntax, + sizeof(ft_boolean_syntax)-1); } /* diff --git a/sql/sql_db.cc b/sql/sql_db.cc index 0323e90a166..7bf1268597b 100644 --- a/sql/sql_db.cc +++ b/sql/sql_db.cc @@ -58,9 +58,9 @@ static bool write_db_opt(THD *thd, const char *path, HA_CREATE_INFO *create) if ((file=my_create(path, CREATE_MODE,O_RDWR | O_TRUNC,MYF(MY_WME))) >= 0) { ulong length; - CHARSET_INFO *cs= (create && create->default_table_charset) ? - create->default_table_charset : - thd->variables.collation_server; + CHARSET_INFO *cs= ((create && create->default_table_charset) ? + create->default_table_charset : + thd->variables.collation_server); length= my_sprintf(buf,(buf, "default-character-set=%s\ndefault-collation=%s\n", cs->csname,cs->name)); @@ -116,9 +116,10 @@ bool load_db_opt(THD *thd, const char *path, HA_CREATE_INFO *create) { if (!strncmp(buf,"default-character-set", (pos-buf))) { - if (!(create->default_table_charset= get_charset_by_csname(pos+1, - MY_CS_PRIMARY, - MYF(0)))) + if (!(create->default_table_charset= + get_charset_by_csname(pos+1, + MY_CS_PRIMARY, + MYF(0)))) { sql_print_error(ER(ER_UNKNOWN_CHARACTER_SET),pos+1); } |