Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37766157
en ru br
Репозитории ALT
S:8.0.30-alt2
5.1: 5.0.89-alt1
4.1: 5.0.51-alt2.a
4.0: 5.0.51-alt2.a.M40.2
+updates:5.0.51-alt2.a.M40.1
3.0: 4.0.24-alt1
www.altlinux.org/Changes

Группа :: Базы Данных
Пакет: MySQL

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: mysql-5.0.89-alt-load_defaults.patch
Скачать


diff --git a/mysql/mysys/default.c b/mysql/mysys/default.c
index b709b33..6dc5304 100644
--- a/mysql/mysys/default.c
+++ b/mysql/mysys/default.c
@@ -652,6 +652,16 @@ static int search_default_file_with_ext(Process_option_func opt_handler,
   if (!(fp= my_fopen(name, O_RDONLY, MYF(0))))
     return 1;					/* Ignore wrong files */
 
+  /* Check for untrusted source. */
+  {
+	  struct stat st;
+	  if (fstat (fileno(fp), &st) < 0)
+		  goto success;
+
+	  if (!getuid() && (st.st_uid || (st.st_mode & 022)))
+		  goto success;
+  }
+  
   while (fgets(buff, sizeof(buff) - 1, fp))
   {
     line++;
@@ -837,6 +847,7 @@ static int search_default_file_with_ext(Process_option_func opt_handler,
         goto err;
     }
   }
+  success:
   my_fclose(fp,MYF(0));
   return(0);
 
@@ -1087,6 +1098,9 @@ static const char **init_default_directories(MEM_ROOT *alloc)
     errors += add_directory(alloc, DEFAULT_SYSCONFDIR, dirs);
 #endif /* __EMX__ || __OS2__ */
 
+#ifdef MYSQL_DATADIR
+    errors += add_directory(alloc, MYSQL_DATADIR, dirs);
+#endif
 #endif
 
   if ((env= getenv(STRINGIFY_ARG(DEFAULT_HOME_ENV))))
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin