diff options
Diffstat (limited to 'mysys/default.c')
-rw-r--r-- | mysys/default.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/mysys/default.c b/mysys/default.c index 26121cc0e56..c47d2719ab5 100644 --- a/mysys/default.c +++ b/mysys/default.c @@ -249,8 +249,13 @@ static my_bool search_default_file(DYNAMIC_ARRAY *args, MEM_ROOT *alloc, MY_STAT stat_info; if (!my_stat(name,&stat_info,MYF(0))) return 0; - /* ignore world-writeable _regular_ files */ - if (stat_info.st_mode & S_IWOTH && stat_info.st_mode & S_IFREG) + /* + Ignore world-writable regular files. + This is mainly done to protect us to not read a file created by + the mysqld server, but the check is still valid in most context. + */ + if ((stat_info.st_mode & S_IWOTH) && + (stat_info.st_mode & S_IFMT) == S_IFREG) { fprintf(stderr, "warning: World-writeable config file %s is ignored\n", name); |