summaryrefslogtreecommitdiff
path: root/server-tools
diff options
context:
space:
mode:
authorunknown <petr@mysql.com>2006-02-14 03:09:17 +0300
committerunknown <petr@mysql.com>2006-02-14 03:09:17 +0300
commit8a4ebb52325702b2e781e11f730e1df78bceaef9 (patch)
tree37ec285e31f4858127ce2f4a78a0c5da4c98ccf8 /server-tools
parent10c6505550d1b0c00f60b701447262021fc66138 (diff)
downloadmariadb-git-8a4ebb52325702b2e781e11f730e1df78bceaef9.tar.gz
fix Bug#12813 "Instance Manager: START/STOP INSTANCE
commands accept a list as argument" mysql-test/r/im_life_cycle.result: update result file mysql-test/t/im_life_cycle.imtest: add a test for the bug server-tools/instance-manager/parse.cc: check for nonaplhanumeric symbols at the end of the commands
Diffstat (limited to 'server-tools')
-rw-r--r--server-tools/instance-manager/parse.cc17
1 files changed, 10 insertions, 7 deletions
diff --git a/server-tools/instance-manager/parse.cc b/server-tools/instance-manager/parse.cc
index 9d9064240d4..4a8e85faf8f 100644
--- a/server-tools/instance-manager/parse.cc
+++ b/server-tools/instance-manager/parse.cc
@@ -143,7 +143,7 @@ Command *parse_command(Instance_map *map, const char *text)
instance_name_len= word_len;
text+= word_len;
/* it should be the end of command */
- get_word(&text, &word_len);
+ get_word(&text, &word_len, NONSPACE);
if (word_len)
goto syntax_error;
@@ -156,7 +156,7 @@ Command *parse_command(Instance_map *map, const char *text)
if (shift_token(&text, &word_len) != TOK_INSTANCES)
goto syntax_error;
- get_word(&text, &word_len);
+ get_word(&text, &word_len, NONSPACE);
if (word_len)
goto syntax_error;
@@ -197,7 +197,7 @@ Command *parse_command(Instance_map *map, const char *text)
}
/* should be empty */
- get_word(&text, &word_len);
+ get_word(&text, &word_len, NONSPACE);
if (word_len)
goto syntax_error;
@@ -213,7 +213,7 @@ Command *parse_command(Instance_map *map, const char *text)
case TOK_SHOW:
switch (shift_token(&text, &word_len)) {
case TOK_INSTANCES:
- get_word(&text, &word_len);
+ get_word(&text, &word_len, NONSPACE);
if (word_len)
goto syntax_error;
command= new Show_instances(map);
@@ -226,7 +226,7 @@ Command *parse_command(Instance_map *map, const char *text)
goto syntax_error;
text+= instance_name_len;
/* check that this is the end of the command */
- get_word(&text, &word_len);
+ get_word(&text, &word_len, NONSPACE);
if (word_len)
goto syntax_error;
if (tok2 == TOK_STATUS)
@@ -250,7 +250,7 @@ Command *parse_command(Instance_map *map, const char *text)
case TOK_LOG:
switch (Token tok3= shift_token(&text, &word_len)) {
case TOK_FILES:
- get_word(&text, &word_len);
+ get_word(&text, &word_len, NONSPACE);
/* check that this is the end of the command */
if (word_len)
goto syntax_error;
@@ -293,7 +293,10 @@ Command *parse_command(Instance_map *map, const char *text)
command= new Show_instance_log(map, instance_name,
instance_name_len, log_type,
log_size, text);
-
+ get_word(&text, &word_len, NONSPACE);
+ /* check that this is the end of the command */
+ if (word_len)
+ goto syntax_error;
break;
case '\0':
command= new Show_instance_log(map, instance_name,