linux/tools/lib/api
Namhyung Kim eadce0f46a tools/lib/api: Fix potential double-free from fdarray__grow()
If the realloc for fda->entries succeeds but the realloc for fda->priv
fails, the error path frees the newly allocated entries.

However, fda->entries is neither updated to point to the new entries block
nor cleared to NULL. If realloc moved the allocation to a new block, the
old fda->entries pointer is now freed memory.

When fdarray__exit() is later called to clean up, it executes
free(fda->entries), which would trigger a double-free on that old pointer.

Reported-by: Sashiko Review <sashiko-bot@kernel.org>
Closes: https://lore.kernel.org/linux-perf-users/20260710200150.11FE71F00A3A@smtp.kernel.org
Reviewed-by: Ian Rogers <irogers@google.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
2026-07-16 09:56:47 -07:00
..
fd tools/lib/api: Fix potential double-free from fdarray__grow() 2026-07-16 09:56:47 -07:00
fs tools lib api: Fix mount_overload() snprintf truncation and toupper range 2026-06-10 18:56:02 -03:00
Build tools lib api: Add str_error_c to libapi 2016-07-27 17:16:43 -03:00
cpu.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cpu.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
debug-internal.h tools lib api: Renaming pr_warning to pr_warn 2019-10-18 15:02:57 +02:00
debug.c tools lib api: Renaming pr_warning to pr_warn 2019-10-18 15:02:57 +02:00
debug.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
io_dir.h libapi: Add missing header with NAME_MAX define to io_dir.h 2025-03-13 00:29:36 -07:00
io.h tools api io: Ensure line_len_out is always initialized 2024-11-08 22:46:44 -08:00
Makefile tools lib api: Add io_dir an allocation free readdir alternative 2025-02-24 15:46:33 -08:00