mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Fix for Bug #21412 (client allows DELIMITER with backslash character)
BitKeeper/etc/ignore: Added mysql-test/t/tmp.test mysql-test/r/tmp.result client/tmp.diff to the ignore list client/mysql.cc: Fix for Bug #21412 (client allows DELIMITER with backslash) mysql-test/r/mysql.result: Added test case for Bug #21412 mysql-test/t/mysql.test: Added test case for Bug #21412
This commit is contained in:
@@ -800,10 +800,23 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
|
||||
default_charset_used= 1;
|
||||
break;
|
||||
case OPT_DELIMITER:
|
||||
if (argument == disabled_my_option)
|
||||
if (argument == disabled_my_option)
|
||||
{
|
||||
strmov(delimiter, DEFAULT_DELIMITER);
|
||||
else
|
||||
strmake(delimiter, argument, sizeof(delimiter) - 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Check that delimiter does not contain a backslash */
|
||||
if (!strstr(argument, "\\"))
|
||||
{
|
||||
strmake(delimiter, argument, sizeof(delimiter) - 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
put_info("DELIMITER cannot contain a backslash character", INFO_ERROR);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
delimiter_length= (uint)strlen(delimiter);
|
||||
delimiter_str= delimiter;
|
||||
break;
|
||||
@@ -3011,6 +3024,14 @@ com_delimiter(String *buffer __attribute__((unused)), char *line)
|
||||
INFO_ERROR);
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (strstr(tmp, "\\"))
|
||||
{
|
||||
put_info("DELIMITER cannot contain a backslash character", INFO_ERROR);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
strmake(delimiter, tmp, sizeof(delimiter) - 1);
|
||||
delimiter_length= (int)strlen(delimiter);
|
||||
delimiter_str= delimiter;
|
||||
|
Reference in New Issue
Block a user