allow programs in /lib/udev called without the path

RUN="firmware.sh" should work like RUN="/lib/udev/firmware.sh"

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
This commit is contained in:
Kay Sievers 2005-12-03 18:55:51 +01:00
parent 6acd81c898
commit aab4c0eebe

View file

@ -82,6 +82,7 @@ int run_program(const char *command, const char *subsystem,
int errpipe[2] = {-1, -1};
pid_t pid;
char arg[PATH_SIZE];
char program[PATH_SIZE];
char *argv[(sizeof(arg) / 2) + 1];
int devnull;
int i;
@ -126,6 +127,13 @@ int run_program(const char *command, const char *subsystem,
}
}
/* allow programs in /lib/udev called without the path */
if (strchr(argv[0], '/') == NULL) {
strlcpy(program, "/lib/udev/", sizeof(program));
strlcat(program, argv[0], sizeof(program));
argv[0] = program;
}
pid = fork();
switch(pid) {
case 0: