Commit 25be2b28 authored by Davi Arnaut's avatar Davi Arnaut

Bug#48983: Bad strmake calls (length one too long)

MySQL 5.1 specific fixes.
parent 61ae9288
...@@ -117,13 +117,13 @@ static void parse_option(const char *option_str, ...@@ -117,13 +117,13 @@ static void parse_option(const char *option_str,
while (*ptr == '-') while (*ptr == '-')
++ptr; ++ptr;
strmake(option_name_buf, ptr, MAX_OPTION_LEN + 1); strmake(option_name_buf, ptr, MAX_OPTION_LEN);
eq_pos= strchr(ptr, '='); eq_pos= strchr(ptr, '=');
if (eq_pos) if (eq_pos)
{ {
option_name_buf[eq_pos - ptr]= 0; 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 else
{ {
......
...@@ -533,10 +533,10 @@ static int setup_windows_defaults() ...@@ -533,10 +533,10 @@ static int setup_windows_defaults()
return 1; return 1;
} }
strmake(base_name, base_name_ptr, FN_REFLEN); strmake(base_name, base_name_ptr, FN_REFLEN - 1);
*base_name_ptr= 0; *base_name_ptr= 0;
strmake(im_name, base_name, FN_REFLEN); strmake(im_name, base_name, FN_REFLEN - 1);
ptr= strrchr(im_name, '.'); ptr= strrchr(im_name, '.');
if (!ptr) if (!ptr)
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
User::User(const LEX_STRING *user_name_arg, const char *password) User::User(const LEX_STRING *user_name_arg, const char *password)
{ {
user_length= (uint8) (strmake(user, user_name_arg->str, user_length= (uint8) (strmake(user, user_name_arg->str,
USERNAME_LENGTH + 1) - user); USERNAME_LENGTH) - user);
set_password(password); set_password(password);
} }
......
...@@ -2084,7 +2084,7 @@ static int check_func_set(THD *thd, struct st_mysql_sys_var *var, ...@@ -2084,7 +2084,7 @@ static int check_func_set(THD *thd, struct st_mysql_sys_var *var,
&error, &error_len, &not_used); &error, &error_len, &not_used);
if (error_len) if (error_len)
{ {
strmake(buff, error, min(sizeof(buff), error_len)); strmake(buff, error, min(sizeof(buff) - 1, error_len));
strvalue= buff; strvalue= buff;
goto err; goto err;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment