put_info(..,INFO_ERROR,...); return false; doesn't exit in get_one_option()
Bug #308381 reported by
Andrew Hutchings
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Drizzle |
Fix Released
|
Low
|
Andrew Hutchings |
Bug Description
In drizzle.cc function get_one_option() if put_inf0(
To reproduce this try:
drizzle --delimiter=\\
from drizzle.cc:
/* Check that delimiter does not contain a backslash */
if (!strstr(argument, "\\"))
{
}
else
{
return false;
}
Possible fixes are an exit() in put_info() or to handle the return condition for get_one_option() in mysys/my_get_opt.c
Related branches
lp:~linuxjedi/drizzle/drizzle-bug-308381
- Jay Pipes (community): Needs Fixing
- Monty Taylor: Approve
-
Diff: 2219 lines (+795/-771)12 files modifiedclient/drizzle.cc (+4/-4)
client/drizzledump.cc (+8/-7)
client/drizzleimport.cc (+4/-4)
client/drizzleslap.cc (+4/-4)
client/drizzletest.cc (+16/-7)
drizzled/drizzled.cc (+4/-4)
drizzled/my_getopt.cc (+749/-735)
drizzled/my_getopt.h (+1/-1)
drizzled/plugin/loader.cc (+1/-1)
extra/my_print_defaults.cc (+1/-1)
plugin/archive/archive_reader.cc (+2/-2)
tests/resolve_stack_dump.cc (+1/-1)
Changed in drizzle: | |
importance: | Undecided → Medium |
milestone: | none → aloha |
Changed in drizzle: | |
assignee: | nobody → Andrew Ettinger (sillydeveloper) |
Changed in drizzle: | |
assignee: | Andrew Ettinger (sillydeveloper) → nobody |
Changed in drizzle: | |
assignee: | nobody → LinuxJedi (thelinuxjedi) |
Changed in drizzle: | |
status: | Confirmed → In Progress |
Changed in drizzle: | |
status: | In Progress → Fix Committed |
Changed in drizzle: | |
status: | Fix Committed → Fix Released |
Changed in drizzle: | |
milestone: | low-hanging-fruit → none |
To post a comment you must log in.
I was able to reproduce this:
$ ../client/drizzle --user=root --port=9306 --delimiter=\\
ERROR:
DELIMITER cannot contain a backslash character
Welcome to the Drizzle client.. Commands end with ; or \g.
Your Drizzle connection id is 3
Server version: 7.0.0 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
drizzle>
Thanks, Padraig.