Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37567086
en ru br
Репозитории ALT
S:0.25.4-alt1
5.1: 0.16.8.9-alt1
4.1: 0.16.8.9-alt1
3.0: 0.16.7-alt1_2
www.altlinux.org/Changes

Группа :: Графические оболочки/Enlightenment
Пакет: enlightenment

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

Патч: auto-ptrace-disable.patch
Скачать


diff --git a/enlightenment/src/bin/e_start_main.c b/enlightenment/src/bin/e_start_main.c
index d23a45b..344c343 100644
--- a/enlightenment/src/bin/e_start_main.c
+++ b/enlightenment/src/bin/e_start_main.c
@@ -234,6 +234,21 @@ _sigusr1(int x __UNUSED__, siginfo_t *info __UNUSED__, void *data __UNUSED__)
 }
 
 int
+has_privileges(const char *filename)
+{
+	int ret;
+	struct stat statbuf;
+
+	ret = stat(filename, &statbuf);
+	if (ret == 0 && ((statbuf.st_mode & S_ISUID) + (statbuf.st_mode & S_ISGID))) {
+		printf("%s has suid/sgid bit set\n", filename);
+		return 1;
+	} else {
+		return 0;
+	}
+}
+
+int
 main(int argc, char **argv)
 {
    int i, valgrind_mode = 0;
@@ -404,8 +419,10 @@ main(int argc, char **argv)
    copy_args(args + i, argv + 1, argc - 1);
    args[i + argc - 1] = NULL;
 
-   if (valgrind_tool || valgrind_mode)
+   if (valgrind_tool || valgrind_mode || has_privileges(args[0])) {
+     printf("Disable tracing\n");
      really_know = EINA_TRUE;
+   }
 
 #if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || \
    (defined (__MACH__) && defined (__APPLE__))
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin