Commit 848414cf authored by unknown's avatar unknown
Browse files

Addition to the fix for #4815


sql/sql_class.cc:
  Code simplified with strxnmov
parent 8368559f
Loading
Loading
Loading
Loading
+2 −10
Original line number Diff line number Diff line
@@ -854,21 +854,13 @@ static File create_file(THD *thd, char *path, sql_exchange *exchange,
{
  File file;
  uint option= MY_UNPACK_FILENAME;
  char buff[FN_REFLEN];

#ifdef DONT_ALLOW_FULL_LOAD_DATA_PATHS
  option|= MY_REPLACE_DIR;			// Force use of db directory
#endif

  char *cnt= strmake(buff, mysql_real_data_home, FN_REFLEN);
  *cnt= FN_LIBCHAR;
  cnt++;
  cnt= strmake(cnt, thd->db ? thd->db : "", FN_REFLEN - (cnt-buff));
  *cnt= FN_LIBCHAR;
  cnt++;
  *cnt= 0;

  (void) fn_format(path, exchange->file_name, buff, "", option);
  strxnmov(path, FN_REFLEN, mysql_real_data_home, thd->db ? thd->db : "");
  (void) fn_format(path, exchange->file_name, path, "", option);
  if (!access(path, F_OK))
  {
    my_error(ER_FILE_EXISTS_ERROR, MYF(0), exchange->file_name);