mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 12:44:03 +02:00
perf machine: Fix fd leak on bounds check in maps__set_modules_path_dir()
The bounds check for root_len >= path_size returns -1 directly without
closing the directory fd opened by io_dir__init() a few lines above.
Jump to the out label instead, which calls close(iod.dirfd).
Fixes: e7af194681 ("perf machine: Reuse module path buffer")
Reported-by: sashiko-bot <sashiko-bot@kernel.org>
Cc: Ian Rogers <irogers@google.com>
Assisted-by: Claude:claude-opus-4.6
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
This commit is contained in:
parent
bec06676f4
commit
23010160bb
|
|
@ -1411,8 +1411,10 @@ static int maps__set_modules_path_dir(struct maps *maps, char *path, size_t path
|
|||
return -1;
|
||||
}
|
||||
/* Bounds check, should never happen. */
|
||||
if (root_len >= path_size)
|
||||
return -1;
|
||||
if (root_len >= path_size) {
|
||||
ret = -1;
|
||||
goto out;
|
||||
}
|
||||
path[root_len++] = '/';
|
||||
while ((dent = io_dir__readdir(&iod)) != NULL) {
|
||||
if (io_dir__is_dir(&iod, dent)) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user