mirror of
https://github.com/sudo-project/sudo.git
synced 2025-09-04 08:15:15 +00:00
In find_path() stub only make a copy in outfile if returning FOUND.
Fixed a recently-introduced memory leak in the fuzzer.
This commit is contained in:
@@ -737,6 +737,12 @@ find_path(const char *infile, char **outfile, struct stat *sbp,
|
||||
const char *path, const char *runchroot, int ignore_dot,
|
||||
char * const *allowlist)
|
||||
{
|
||||
switch (pass) {
|
||||
case PASS_CHECK_NOT_FOUND:
|
||||
return NOT_FOUND;
|
||||
case PASS_CHECK_NOT_FOUND_DOT:
|
||||
return NOT_FOUND_DOT;
|
||||
default:
|
||||
if (infile[0] == '/') {
|
||||
*outfile = strdup(infile);
|
||||
} else {
|
||||
@@ -745,13 +751,6 @@ find_path(const char *infile, char **outfile, struct stat *sbp,
|
||||
}
|
||||
if (*outfile == NULL)
|
||||
return NOT_FOUND_ERROR;
|
||||
|
||||
switch (pass) {
|
||||
case PASS_CHECK_NOT_FOUND:
|
||||
return NOT_FOUND;
|
||||
case PASS_CHECK_NOT_FOUND_DOT:
|
||||
return NOT_FOUND_DOT;
|
||||
default:
|
||||
return FOUND;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user