mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Bug #17168602 MYSQL_PLUGIN REMOVES NON-DIRECTORY TYPE FILES
SPECIFIED WITH THE BASEDIR OPTION Description: The mysql_plugin client attempts to remove any filename specified to the --basedir option. The problem is that if the filename does not end with a slash, it will attempt to unlink it, which succeeds for files, but not for directories. Analysis: When we are starting mysql_plugin with basedir option and if we are giving path of a file as basedir, it deletes that file. It was because it uses a function my_delete which unlinks the file path given. Fix: As a fix we replace that line using another function my_free, which will only free the pointer which is having that file path.
This commit is contained in:
@@ -856,7 +856,7 @@ static int process_options(int argc, char *argv[], char *operation)
|
|||||||
strncat(buff, FN_DIRSEP, sizeof(buff) - strlen(buff) - 1);
|
strncat(buff, FN_DIRSEP, sizeof(buff) - strlen(buff) - 1);
|
||||||
#endif
|
#endif
|
||||||
buff[sizeof(buff) - 1]= 0;
|
buff[sizeof(buff) - 1]= 0;
|
||||||
my_delete(opt_basedir, MYF(0));
|
my_free(opt_basedir);
|
||||||
opt_basedir= my_strdup(buff, MYF(MY_FAE));
|
opt_basedir= my_strdup(buff, MYF(MY_FAE));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user