[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[tyndur-devel] [PATCH] libinit: Falscherkennung in init_execute() korrigiert.
From: Alexander Siol <alex@alex.(none)>
! libinit: init_execute() hat im Falle von mit Programmen gleichnamigen Verzeichnissen beschlossen es gäbe keine Anwendung ohne den PATH zu durchsuchen. Dieser Fall wird jetzt abgefangen.
---
trunk/src/modules/lib/init.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/trunk/src/modules/lib/init.c b/trunk/src/modules/lib/init.c
index 0ffd982..3759114 100644
--- a/trunk/src/modules/lib/init.c
+++ b/trunk/src/modules/lib/init.c
@@ -33,6 +33,7 @@
#include "stdlib.h"
#include <io.h>
#include <unistd.h>
+#include <dir.h>
// Kindprozess eintragen
extern void wait_child_add(pid_t pid);
@@ -111,7 +112,7 @@ pid_t init_execute(const char* cmd)
// Pruefen ob es sich um einen Pfad handelt
abs_path = io_get_absolute_path(program);
- if (!abs_path || (access(abs_path, X_OK) != 0)) {
+ if (!abs_path || (access(abs_path, X_OK) != 0) || is_directory(abs_path)) {
// Den absoluten Pfad freigeben
free(abs_path);
abs_path = NULL;
--
1.6.0.4