mirror of
https://github.com/sudo-project/sudo.git
synced 2025-08-29 13:28:10 +00:00
if given a fully-qualified or relative path we now check it
with sudo_goodpath() and error out with the appropriate error message if the file does not exist or is not executable
This commit is contained in:
parent
f55ea664c4
commit
a7b14880ab
15
find_path.c
15
find_path.c
@ -110,11 +110,20 @@ char * find_path(file)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If we were given a fully qualified or relative path just accept for now
|
* If we were given a fully qualified or relative path
|
||||||
|
* there is no need to look at PATH.
|
||||||
|
* We really want to fall back if !sudo_goodpath() but then
|
||||||
|
* the error is "not found" -- this way we get the correct error.
|
||||||
*/
|
*/
|
||||||
if (strchr(file, '/')) {
|
if (strchr(file, '/')) {
|
||||||
(void) strcpy(command, file);
|
(void) strcpy(command, file);
|
||||||
return(command);
|
if (sudo_goodpath(command)) {
|
||||||
|
return(command);
|
||||||
|
} else {
|
||||||
|
(void) fprintf(stderr, "%s: %s: ", Argv[0], command);
|
||||||
|
perror("");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -124,7 +133,7 @@ char * find_path(file)
|
|||||||
return(NULL);
|
return(NULL);
|
||||||
|
|
||||||
if ((path = strdup(path)) == NULL) {
|
if ((path = strdup(path)) == NULL) {
|
||||||
(void) fprintf(stderr, "sudo: out of memory!\n");
|
(void) fprintf(stderr, "%s: out of memory!\n", Argv[0]);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
origpath=path;
|
origpath=path;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user