core: Fix use after free case in load_from_path()
ensure that mfree() on filename is called after the logging function which uses the string pointed by filename Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
@@ -4531,7 +4531,6 @@ static int load_from_path(Unit *u, const char *path) {
|
||||
r = open_follow(&filename, &f, symlink_names, &id);
|
||||
if (r >= 0)
|
||||
break;
|
||||
filename = mfree(filename);
|
||||
|
||||
/* ENOENT means that the file is missing or is a dangling symlink.
|
||||
* ENOTDIR means that one of paths we expect to be is a directory
|
||||
@@ -4543,6 +4542,7 @@ static int load_from_path(Unit *u, const char *path) {
|
||||
else if (!IN_SET(r, -ENOENT, -ENOTDIR))
|
||||
return r;
|
||||
|
||||
filename = mfree(filename);
|
||||
/* Empty the symlink names for the next run */
|
||||
set_clear_free(symlink_names);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user