Browse Source

BUG#12929345 : Execution aborts without any messages (Windows only)

This patch corrects an unsafe string concatenation for a Windows-specific
code segment. The symptoms were, under certain conditions like specifying
the location of my-print-defaults and the basedir, and run on a release
build, the client would exit without printing any messages.
pull/374/head
Chuck Bell 15 years ago
parent
commit
0750d88c15
  1. 13
      client/mysql_plugin.c

13
client/mysql_plugin.c

@ -846,12 +846,19 @@ static int process_options(int argc, char *argv[], char *operation)
{
i= (int)strlength(opt_basedir);
if (opt_basedir[i-1] != FN_LIBCHAR || opt_basedir[i-1] != FN_LIBCHAR2)
{
char buff[FN_REFLEN];
strncpy(buff, opt_basedir, sizeof(buff) - 1);
#ifdef __WIN__
if (opt_basedir[i-1] != '/')
strcat(opt_basedir, "//");
strncat(buff, "/", sizeof(buff) - 1);
#else
strcat(opt_basedir, FN_DIRSEP);
strncat(buff, FN_DIRSEP, sizeof(buff) - 1);
#endif
buff[sizeof(buff) - 1]= 0;
my_delete(opt_basedir, MYF(0));
opt_basedir= my_strdup(buff, MYF(MY_FAE));
}
}
/*

Loading…
Cancel
Save