MDEV-23875: select into outfile not respect UMASK and UMASK_DIR
Analysis: select into outfile creates files everytime with 666 permission, regardsless if umask environment variables and umask settings on OS level. It seems hardcoded. Fix: change 0666 to 0644 which will let anybody consume the file but not change it.
This commit is contained in:
parent
78292047a4
commit
4f5d5a7857
@ -2859,12 +2859,12 @@ static File create_file(THD *thd, char *path, sql_exchange *exchange,
|
|||||||
}
|
}
|
||||||
/* Create the file world readable */
|
/* Create the file world readable */
|
||||||
if ((file= mysql_file_create(key_select_to_file,
|
if ((file= mysql_file_create(key_select_to_file,
|
||||||
path, 0666, O_WRONLY|O_EXCL, MYF(MY_WME))) < 0)
|
path, 0644, O_WRONLY|O_EXCL, MYF(MY_WME))) < 0)
|
||||||
return file;
|
return file;
|
||||||
#ifdef HAVE_FCHMOD
|
#ifdef HAVE_FCHMOD
|
||||||
(void) fchmod(file, 0666); // Because of umask()
|
(void) fchmod(file, 0644); // Because of umask()
|
||||||
#else
|
#else
|
||||||
(void) chmod(path, 0666);
|
(void) chmod(path, 0644;
|
||||||
#endif
|
#endif
|
||||||
if (init_io_cache(cache, file, 0L, WRITE_CACHE, 0L, 1, MYF(MY_WME)))
|
if (init_io_cache(cache, file, 0L, WRITE_CACHE, 0L, 1, MYF(MY_WME)))
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user