33 lines
1018 B
Diff
33 lines
1018 B
Diff
From 2929ec400c174bc848a9c438a61b0e3506b91d0e Mon Sep 17 00:00:00 2001
|
|
From: ChenChen Zhou <357726167@qq.com>
|
|
Date: Thu, 24 Nov 2022 21:59:21 +0800
|
|
Subject: [PATCH] Fix profile crash on memory exhaustion
|
|
|
|
In profile_get_values(), if init_list() fails to allocate values.list,
|
|
end_list() will dereference a null pointer. Fix end_list() to handle
|
|
list->list being null.
|
|
|
|
[ghudson@mit.edu: rewrote commit message]
|
|
|
|
ticket: 9078 (new)
|
|
---
|
|
src/util/profile/prof_get.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/src/util/profile/prof_get.c b/src/util/profile/prof_get.c
|
|
index 0e14200ca..12c7b9641 100644
|
|
--- a/src/util/profile/prof_get.c
|
|
+++ b/src/util/profile/prof_get.c
|
|
@@ -62,7 +62,7 @@ static void end_list(struct profile_string_list *list, char ***ret_list)
|
|
*ret_list = list->list;
|
|
return;
|
|
} else {
|
|
- for (cp = list->list; *cp; cp++)
|
|
+ for (cp = list->list; cp && *cp; cp++)
|
|
free(*cp);
|
|
free(list->list);
|
|
}
|
|
--
|
|
2.32.0.windows.1
|
|
|