Репозитории 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 |
Группа :: Графические оболочки/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__))