diff options
author | unknown <jpipes@shakedown.(none)> | 2006-10-02 11:45:48 -0400 |
---|---|---|
committer | unknown <jpipes@shakedown.(none)> | 2006-10-02 11:45:48 -0400 |
commit | 89220d074773ce768c044ba6042c9bebe7935acb (patch) | |
tree | 2f4a41e50e56d5136e4d04988e053ae73602e884 /client | |
parent | 01a75941b22bac048a9502a1a256b1acb5dc3716 (diff) | |
download | mariadb-git-89220d074773ce768c044ba6042c9bebe7935acb.tar.gz |
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
Diffstat (limited to 'client')
-rw-r--r-- | client/mysql.cc | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/client/mysql.cc b/client/mysql.cc index 5e09c309917..95336f4579f 100644 --- a/client/mysql.cc +++ b/client/mysql.cc @@ -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; |