mirror of
https://github.com/MariaDB/server.git
synced 2025-12-24 11:21:21 +03:00
ignore world-writeable my.cnf's
This commit is contained in:
@@ -39,6 +39,7 @@
|
||||
#include "mysys_priv.h"
|
||||
#include "m_string.h"
|
||||
#include "m_ctype.h"
|
||||
#include <my_dir.h>
|
||||
|
||||
char *defaults_extra_file=0;
|
||||
|
||||
@@ -60,13 +61,13 @@ DATADIR,
|
||||
NullS,
|
||||
};
|
||||
|
||||
#define default_ext ".cnf" /* extension for config file */
|
||||
#define default_ext ".cnf" /* extension for config file */
|
||||
#ifdef __WIN__
|
||||
#include <winbase.h>
|
||||
#define windows_ext ".ini"
|
||||
#endif
|
||||
|
||||
static my_bool search_default_file(DYNAMIC_ARRAY *args, MEM_ROOT *alloc,
|
||||
static my_bool search_default_file(DYNAMIC_ARRAY *args,MEM_ROOT *alloc,
|
||||
const char *dir, const char *config_file,
|
||||
const char *ext, TYPELIB *group);
|
||||
|
||||
@@ -241,6 +242,16 @@ static my_bool search_default_file(DYNAMIC_ARRAY *args, MEM_ROOT *alloc,
|
||||
{
|
||||
strmov(name,config_file);
|
||||
}
|
||||
fn_format(name,name,"","",4);
|
||||
#if !defined(__WIN__) && !defined(OS2)
|
||||
{
|
||||
MY_STAT stat_info;
|
||||
if (!my_stat(name,&stat_info,MYF(MY_WME)))
|
||||
return 0;
|
||||
if (stat_info.st_mode & S_IWOTH) /* ignore world-writeable files */
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
if (!(fp = my_fopen(fn_format(name,name,"","",4),O_RDONLY,MYF(0))))
|
||||
return 0; /* Ignore wrong files */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user