From 83da316a3bb6de327a070471584be4a0165bee7f Mon Sep 17 00:00:00 2001 From: Yunseong Kim Date: Thu, 20 Jun 2024 05:42:12 +0900 Subject: [PATCH] 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 Reviewed-by: Ian Rogers Cc: Ravi Bangoria Cc: Austin Kim Cc: shjy180909@gmail.com Cc: Ze Gao Cc: Leo Yan Signed-off-by: Namhyung Kim Link: https://lore.kernel.org/r/20240619204211.6438-2-yskelg@gmail.com --- tools/perf/util/unwind-libunwind-local.c | 5 +++++ 1 file changed, 5 insertions(+) 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);