summaryrefslogtreecommitdiff
path: root/tools/perf
diff options
context:
space:
mode:
authorYunseong Kim <yskelg@gmail.com>2024-06-20 05:42:12 +0900
committerNamhyung Kim <namhyung@kernel.org>2024-06-25 11:06:20 -0700
commit83da316a3bb6de327a070471584be4a0165bee7f (patch)
treea6d02d8da23adc1bf765c4f9f03475a11ff84707 /tools/perf
parente9ffa312ff06cde77c4a6395c411c5ebde738f04 (diff)
downloadlinux-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.c5
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);