diff options
author | Davi Arnaut <Davi.Arnaut@Sun.COM> | 2009-12-18 17:14:09 -0200 |
---|---|---|
committer | Davi Arnaut <Davi.Arnaut@Sun.COM> | 2009-12-18 17:14:09 -0200 |
commit | 25be2b28d180e34afb8579311e431a6772f40809 (patch) | |
tree | 288cf2c60e8e1a6e624239000e9e0e9c87a648b2 | |
parent | 61ae92889808c3c38c5e449e36fc30f89e8e3f23 (diff) | |
download | mariadb-git-25be2b28d180e34afb8579311e431a6772f40809.tar.gz |
Bug#48983: Bad strmake calls (length one too long)
MySQL 5.1 specific fixes.
-rw-r--r-- | server-tools/instance-manager/instance_map.cc | 4 | ||||
-rw-r--r-- | server-tools/instance-manager/options.cc | 4 | ||||
-rw-r--r-- | server-tools/instance-manager/user_map.cc | 2 | ||||
-rw-r--r-- | sql/sql_plugin.cc | 2 |
4 files changed, 6 insertions, 6 deletions
diff --git a/server-tools/instance-manager/instance_map.cc b/server-tools/instance-manager/instance_map.cc index b137370b50a..a923c186b5d 100644 --- a/server-tools/instance-manager/instance_map.cc +++ b/server-tools/instance-manager/instance_map.cc @@ -117,13 +117,13 @@ static void parse_option(const char *option_str, while (*ptr == '-') ++ptr; - strmake(option_name_buf, ptr, MAX_OPTION_LEN + 1); + strmake(option_name_buf, ptr, MAX_OPTION_LEN); eq_pos= strchr(ptr, '='); if (eq_pos) { option_name_buf[eq_pos - ptr]= 0; - strmake(option_value_buf, eq_pos + 1, MAX_OPTION_LEN + 1); + strmake(option_value_buf, eq_pos + 1, MAX_OPTION_LEN); } else { diff --git a/server-tools/instance-manager/options.cc b/server-tools/instance-manager/options.cc index ebca593bb03..6e401bf3ffe 100644 --- a/server-tools/instance-manager/options.cc +++ b/server-tools/instance-manager/options.cc @@ -533,10 +533,10 @@ static int setup_windows_defaults() return 1; } - strmake(base_name, base_name_ptr, FN_REFLEN); + strmake(base_name, base_name_ptr, FN_REFLEN - 1); *base_name_ptr= 0; - strmake(im_name, base_name, FN_REFLEN); + strmake(im_name, base_name, FN_REFLEN - 1); ptr= strrchr(im_name, '.'); if (!ptr) diff --git a/server-tools/instance-manager/user_map.cc b/server-tools/instance-manager/user_map.cc index 49c35c16ca9..85e3f4a2cac 100644 --- a/server-tools/instance-manager/user_map.cc +++ b/server-tools/instance-manager/user_map.cc @@ -25,7 +25,7 @@ User::User(const LEX_STRING *user_name_arg, const char *password) { user_length= (uint8) (strmake(user, user_name_arg->str, - USERNAME_LENGTH + 1) - user); + USERNAME_LENGTH) - user); set_password(password); } diff --git a/sql/sql_plugin.cc b/sql/sql_plugin.cc index bafc601d142..9e35e392d2a 100644 --- a/sql/sql_plugin.cc +++ b/sql/sql_plugin.cc @@ -2084,7 +2084,7 @@ static int check_func_set(THD *thd, struct st_mysql_sys_var *var, &error, &error_len, ¬_used); if (error_len) { - strmake(buff, error, min(sizeof(buff), error_len)); + strmake(buff, error, min(sizeof(buff) - 1, error_len)); strvalue= buff; goto err; } |