Add NULL checks after each malloc() call, printing an error message
to stderr and returning -1 on failure.
Fixes: b5906f5f7359 ("selftests/damon: add a test for
update_schemes_tried_regions sysfs command")
Fixes: c94df805c774 ("selftests/damon: implement a program for even-numbered
memory regions access")
Signed-off-by: longlong yan <[email protected]>
---
tools/testing/selftests/damon/access_memory.c | 11 ++++++++++-
tools/testing/selftests/damon/access_memory_even.c | 11 ++++++++++-
2 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/damon/access_memory.c
b/tools/testing/selftests/damon/access_memory.c
index 567793b11107..e1a8e050dcd4 100644
--- a/tools/testing/selftests/damon/access_memory.c
+++ b/tools/testing/selftests/damon/access_memory.c
@@ -38,8 +38,17 @@ int main(int argc, char *argv[])
mode = ACCESS_MODE_REPEAT;
regions = malloc(sizeof(*regions) * nr_regions);
- for (i = 0; i < nr_regions; i++)
+ if (!regions) {
+ fprintf(stderr, "Failed to allocate regions array\n");
+ return -1;
+ }
+ for (i = 0; i < nr_regions; i++) {
regions[i] = malloc(sz_region);
+ if (!regions[i]) {
+ fprintf(stderr, "Failed to allocate region %d\n", i);
+ return -1;
+ }
+ }
do {
for (i = 0; i < nr_regions; i++) {
diff --git a/tools/testing/selftests/damon/access_memory_even.c
b/tools/testing/selftests/damon/access_memory_even.c
index 93f3a71bcfd4..a443835c119c 100644
--- a/tools/testing/selftests/damon/access_memory_even.c
+++ b/tools/testing/selftests/damon/access_memory_even.c
@@ -26,8 +26,17 @@ int main(int argc, char *argv[])
sz_region = atoi(argv[2]);
regions = malloc(sizeof(*regions) * nr_regions);
- for (i = 0; i < nr_regions; i++)
+ if (!regions) {
+ fprintf(stderr, "Failed to allocate regions array\n");
+ return -1;
+ }
+ for (i = 0; i < nr_regions; i++) {
regions[i] = malloc(sz_region);
+ if (!regions[i]) {
+ fprintf(stderr, "Failed to allocate region %d\n", i);
+ return -1;
+ }
+ }
while (1) {
for (i = 0; i < nr_regions; i++) {
--
2.43.0