diff options
author | Yunseong Kim <yskelg@gmail.com> | 2024-06-20 05:42:12 +0900 |
---|---|---|
committer | Namhyung Kim <namhyung@kernel.org> | 2024-06-25 11:06:20 -0700 |
commit | 83da316a3bb6de327a070471584be4a0165bee7f (patch) | |
tree | a6d02d8da23adc1bf765c4f9f03475a11ff84707 /tools/perf | |
parent | e9ffa312ff06cde77c4a6395c411c5ebde738f04 (diff) | |
download | linux-83da316a3bb6de327a070471584be4a0165bee7f.tar.gz linux-83da316a3bb6de327a070471584be4a0165bee7f.tar.bz2 linux-83da316a3bb6de327a070471584be4a0165bee7f.zip |
perf unwind-libunwind: Add malloc() failure handling
Add malloc() failure handling in unread_unwind_spec_debug_frame().
This make caller find_proc_info() works well when the allocation failure.
Signed-off-by: Yunseong Kim <yskelg@gmail.com>
Reviewed-by: Ian Rogers <irogers@google.com>
Cc: Ravi Bangoria <ravi.bangoria@amd.com>
Cc: Austin Kim <austindh.kim@gmail.com>
Cc: shjy180909@gmail.com
Cc: Ze Gao <zegao2021@gmail.com>
Cc: Leo Yan <leo.yan@linux.dev>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/r/20240619204211.6438-2-yskelg@gmail.com
Diffstat (limited to 'tools/perf')
-rw-r--r-- | tools/perf/util/unwind-libunwind-local.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/tools/perf/util/unwind-libunwind-local.c b/tools/perf/util/unwind-libunwind-local.c index cde267ea3e99..a424eae6d308 100644 --- a/tools/perf/util/unwind-libunwind-local.c +++ b/tools/perf/util/unwind-libunwind-local.c @@ -390,6 +390,11 @@ static int read_unwind_spec_debug_frame(struct dso *dso, char *debuglink = malloc(PATH_MAX); int ret = 0; + if (debuglink == NULL) { + pr_err("unwind: Can't read unwind spec debug frame.\n"); + return -ENOMEM; + } + ret = dso__read_binary_type_filename( dso, DSO_BINARY_TYPE__DEBUGLINK, machine->root_dir, debuglink, PATH_MAX); |