1
0
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:
unknown
2006-10-02 11:45:48 -04:00
parent 01a75941b2
commit 89220d0747
4 changed files with 49 additions and 3 deletions

View File

@@ -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;