From 01f85890639612136f2bd1cabd779014a226e9f6 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 16 Apr 2003 14:49:46 +0500 Subject: [PATCH] Bugfix for segfault in mysql with embedded library mysys/default.c: Fix for bug in mysql with embedded library we can get NULL in *argv --- mysys/default.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/mysys/default.c b/mysys/default.c index 8811efc1190..9fedfd795a5 100644 --- a/mysys/default.c +++ b/mysys/default.c @@ -174,7 +174,8 @@ void load_defaults(const char *conf_file, const char **groups, res= (char**) (ptr+sizeof(alloc)); /* copy name + found arguments + command line arguments to new array */ - res[0]=argv[0][0]; + res[0]=*argc ? argv[0][0] : ""; + memcpy((gptr) (res+1), args.buffer, args.elements*sizeof(char*)); /* Skipp --defaults-file and --defaults-extra-file */ (*argc)-= args_used; @@ -187,8 +188,9 @@ void load_defaults(const char *conf_file, const char **groups, --*argc; ++*argv; /* skipp argument */ } - memcpy((gptr) (res+1+args.elements), (char*) ((*argv)+1), - (*argc-1)*sizeof(char*)); + if (*argc) + memcpy((gptr) (res+1+args.elements), (char*) ((*argv)+1), + (*argc-1)*sizeof(char*)); res[args.elements+ *argc]=0; /* last null */ (*argc)+=args.elements;