diff options
author | jimw@mysql.com <> | 2005-04-26 17:33:49 -0700 |
---|---|---|
committer | jimw@mysql.com <> | 2005-04-26 17:33:49 -0700 |
commit | b186f021a884048b794b6f49a0c9d5ea89be08ea (patch) | |
tree | 88f998b48be3ff5224491ca2146da3563dd0adca | |
parent | bd76a4babae24edc1638beaf1442d3d77d55835d (diff) | |
download | mariadb-git-b186f021a884048b794b6f49a0c9d5ea89be08ea.tar.gz |
Fix undersized array in my_print_defaults that caused crash on Sun Solaris
(and maybe strange results on other platforms). (Bug #9851)
-rw-r--r-- | extra/my_print_defaults.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/extra/my_print_defaults.c b/extra/my_print_defaults.c index d5836cb0dc8..c0461fd0368 100644 --- a/extra/my_print_defaults.c +++ b/extra/my_print_defaults.c @@ -27,12 +27,20 @@ const char *config_file="my"; /* Default config file */ uint verbose= 0, opt_defaults_file_used= 0; +const char *default_dbug_option="d:t:o,/tmp/my_print_defaults.trace"; static struct my_option my_long_options[] = { {"config-file", 'c', "The config file to be used.", (gptr*) &config_file, (gptr*) &config_file, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, +#ifdef DBUG_OFF + {"debug", '#', "This is a non-debug version. Catch this and exit", + 0,0, 0, GET_DISABLED, OPT_ARG, 0, 0, 0, 0, 0, 0}, +#else + {"debug", '#', "Output debug log", (gptr*) &default_dbug_option, + (gptr*) &default_dbug_option, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0}, +#endif {"defaults-file", 'c', "Synonym for --config-file.", (gptr*) &config_file, (gptr*) &config_file, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, @@ -95,6 +103,9 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)), case 'V': usage(1); exit(0); + case '#': + DBUG_PUSH(argument ? argument : default_dbug_option); + break; } return 0; } @@ -118,7 +129,7 @@ static int get_options(int *argc,char ***argv) int main(int argc, char **argv) { int count, error; - char **load_default_groups, *tmp_arguments[2], + char **load_default_groups, *tmp_arguments[3], **argument, **arguments; char *defaults, *extra_defaults; MY_INIT(argv[0]); |