diff options
author | otto <> | 2019-05-23 06:52:13 +0000 |
---|---|---|
committer | otto <> | 2019-05-23 06:52:13 +0000 |
commit | 4a7150c5ef6a5732e128c15ac47612bddf65481f (patch) | |
tree | a2d7561d03fbedea8c274b9853d98969683eb6ab /src | |
parent | 92e048bfdf9e27b1e10a7cfa4192630fc846f126 (diff) | |
download | openbsd-4a7150c5ef6a5732e128c15ac47612bddf65481f.tar.gz openbsd-4a7150c5ef6a5732e128c15ac47612bddf65481f.tar.bz2 openbsd-4a7150c5ef6a5732e128c15ac47612bddf65481f.zip |
Throw malloc_conceal and freezero into the mix.
Diffstat (limited to 'src')
-rw-r--r-- | src/regress/lib/libc/malloc/malloc_general/malloc_general.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/regress/lib/libc/malloc/malloc_general/malloc_general.c b/src/regress/lib/libc/malloc/malloc_general/malloc_general.c index b90e97ad15..8abc5210ca 100644 --- a/src/regress/lib/libc/malloc/malloc_general/malloc_general.c +++ b/src/regress/lib/libc/malloc/malloc_general/malloc_general.c | |||
@@ -57,7 +57,7 @@ check(u_char *p, size_t sz) | |||
57 | int | 57 | int |
58 | main(int argc, char *argv[]) | 58 | main(int argc, char *argv[]) |
59 | { | 59 | { |
60 | int count, p, i; | 60 | int count, p, r, i; |
61 | void * q; | 61 | void * q; |
62 | size_t sz; | 62 | size_t sz; |
63 | char mo[20]; | 63 | char mo[20]; |
@@ -92,7 +92,8 @@ main(int argc, char *argv[]) | |||
92 | #ifdef VERBOSE | 92 | #ifdef VERBOSE |
93 | printf("M %zu=", sz); | 93 | printf("M %zu=", sz); |
94 | #endif | 94 | #endif |
95 | a[i].p = malloc(sz); | 95 | r = arc4random_uniform(2); |
96 | a[i].p = r == 0 ? malloc_conceal(sz) : malloc(sz); | ||
96 | a[i].sz = sz; | 97 | a[i].sz = sz; |
97 | #ifdef VERBOSE | 98 | #ifdef VERBOSE |
98 | printf("%p\n", a[i].p); | 99 | printf("%p\n", a[i].p); |
@@ -122,7 +123,11 @@ main(int argc, char *argv[]) | |||
122 | for (i = 0; i < N; i++) { | 123 | for (i = 0; i < N; i++) { |
123 | if (a[i].p) | 124 | if (a[i].p) |
124 | check(a[i].p, a[i].sz); | 125 | check(a[i].p, a[i].sz); |
125 | free(a[i].p); | 126 | r = arc4random_uniform(2); |
127 | if (r) | ||
128 | free(a[i].p); | ||
129 | else | ||
130 | freezero(a[i].p, a[i].sz); | ||
126 | } | 131 | } |
127 | printf("\n"); | 132 | printf("\n"); |
128 | return 0; | 133 | return 0; |