summaryrefslogtreecommitdiff
path: root/dev-util/scanmem/files/scanmem-0.17-musl-tests.patch
blob: 5dcab6dfe54da00bb7172a9758124c62d5edfc03 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
https://github.com/scanmem/scanmem/commit/81300d05d7d55bbf8e0f6200bb4c4309a320504f
https://github.com/scanmem/scanmem/pull/396
https://bugs.gentoo.org/713208

From: Andrea Stacchiotti <andreastacchiotti@gmail.com>
Date: Sun, 31 Jan 2021 16:57:44 +0100
Subject: [PATCH] Use `size_t` instead of `int` for size variables.

And use strtoul() instead of atoi() because atoi() returns int, even
worse if the value can not be represented, behavior is undefined.

Patch by @shenada , some tweaks by @12345ieee .

Closes #396
--- a/test/memfake.c
+++ b/test/memfake.c
@@ -22,19 +22,21 @@
 #include <stdlib.h>
 #include <time.h>
 #include <unistd.h>
+#include <assert.h>
 
 int main(int argc, char **argv)
 {
-    uint MB_to_allocate = 1;
+    size_t MB_to_allocate = 1;
     bool add_randomness = false;
 
-    if (argc >= 2) MB_to_allocate = atoi(argv[1]);
-    if (argc >= 3) add_randomness = atoi(argv[2]);
+    if (argc >= 2) MB_to_allocate = strtoul(argv[1], NULL, 10);
+    if (argc >= 3) add_randomness = strtoul(argv[2], NULL, 10);
     if (argc >= 4) return 1;
 
     size_t array_size = MB_to_allocate * 1024 * 1024 / sizeof(int);
 
     int* array = calloc(array_size, sizeof(int));
+    assert(array != NULL);
 
     // Fill half with random values and leave an half of zeroes, if asked to
     if (add_randomness) {