OpenCoverage

mem.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/mem.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3static int allow_customize = 1;-
4-
5static void *(*malloc_impl)(size_t, const char *, int)-
6 = CRYPTO_malloc;-
7static void *(*realloc_impl)(void *, size_t, const char *, int)-
8 = CRYPTO_realloc;-
9static void (*free_impl)(void *, const char *, int)-
10 = CRYPTO_free;-
11static int call_malloc_debug = 0;-
12-
13-
14-
15-
16-
17int CRYPTO_set_mem_functions(-
18 void *(*m)(size_t, const char *, int),-
19 void *(*r)(void *, size_t, const char *, int),-
20 void (*f)(void *, const char *, int))-
21{-
22 if (!allow_customize
!allow_customizeDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
23 return
never executed: return 0;
0;
never executed: return 0;
0
24 if (m
mDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
25 malloc_impl = m;
never executed: malloc_impl = m;
0
26 if (r
rDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
27 realloc_impl = r;
never executed: realloc_impl = r;
0
28 if (f
fDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
29 free_impl = f;
never executed: free_impl = f;
0
30 return
never executed: return 1;
1;
never executed: return 1;
0
31}-
32-
33int CRYPTO_set_mem_debug(int flag)-
34{-
35 if (!allow_customize
!allow_customizeDescription
TRUEevaluated 1908 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
1-1908
36 return
executed 1908 times by 1 test: return 0;
Executed by:
  • libcrypto.so.1.1
0;
executed 1908 times by 1 test: return 0;
Executed by:
  • libcrypto.so.1.1
1908
37 call_malloc_debug = flag;-
38 return
executed 1 time by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
1;
executed 1 time by 1 test: return 1;
Executed by:
  • libcrypto.so.1.1
1
39}-
40-
41void CRYPTO_get_mem_functions(-
42 void *(**m)(size_t, const char *, int),-
43 void *(**r)(void *, size_t, const char *, int),-
44 void (**f)(void *, const char *, int))-
45{-
46 if (m !=
m != ((void *)0)Description
TRUEevaluated 368 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-368
47 ((void *)0)
m != ((void *)0)Description
TRUEevaluated 368 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-368
48 )-
49 *
executed 368 times by 1 test: *m = malloc_impl;
Executed by:
  • libcrypto.so.1.1
m = malloc_impl;
executed 368 times by 1 test: *m = malloc_impl;
Executed by:
  • libcrypto.so.1.1
368
50 if (r !=
r != ((void *)0)Description
TRUEevaluated 368 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-368
51 ((void *)0)
r != ((void *)0)Description
TRUEevaluated 368 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-368
52 )-
53 *
executed 368 times by 1 test: *r = realloc_impl;
Executed by:
  • libcrypto.so.1.1
r = realloc_impl;
executed 368 times by 1 test: *r = realloc_impl;
Executed by:
  • libcrypto.so.1.1
368
54 if (f !=
f != ((void *)0)Description
TRUEevaluated 368 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-368
55 ((void *)0)
f != ((void *)0)Description
TRUEevaluated 368 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-368
56 )-
57 *
executed 368 times by 1 test: *f = free_impl;
Executed by:
  • libcrypto.so.1.1
f = free_impl;
executed 368 times by 1 test: *f = free_impl;
Executed by:
  • libcrypto.so.1.1
368
58}
executed 368 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
368
59void *CRYPTO_malloc(size_t num, const char *file, int line)-
60{-
61 void *ret = -
62 ((void *)0)-
63 ;-
64-
65 ;-
66 if (malloc_impl !=
malloc_impl != ((void *)0)Description
TRUEevaluated 39063767 times by 12 tests
Evaluated by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
FALSEnever evaluated
0-39063767
67 ((void *)0)
malloc_impl != ((void *)0)Description
TRUEevaluated 39063767 times by 12 tests
Evaluated by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
FALSEnever evaluated
0-39063767
68 && malloc_impl != CRYPTO_malloc
malloc_impl != CRYPTO_mallocDescription
TRUEnever evaluated
FALSEevaluated 39087280 times by 12 tests
Evaluated by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
)
0-39087280
69 return
never executed: return malloc_impl(num, file, line);
malloc_impl(num, file, line);
never executed: return malloc_impl(num, file, line);
0
70-
71 if (num == 0
num == 0Description
TRUEevaluated 895 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 39044368 times by 12 tests
Evaluated by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
)
895-39044368
72 return
executed 895 times by 1 test: return ((void *)0) ;
Executed by:
  • libcrypto.so.1.1
executed 895 times by 1 test: return ((void *)0) ;
Executed by:
  • libcrypto.so.1.1
895
73 ((void *)0)
executed 895 times by 1 test: return ((void *)0) ;
Executed by:
  • libcrypto.so.1.1
895
74 ;
executed 895 times by 1 test: return ((void *)0) ;
Executed by:
  • libcrypto.so.1.1
895
75-
76 ;-
77 if (allow_customize
allow_customizeDescription
TRUEevaluated 2076 times by 12 tests
Evaluated by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
FALSEevaluated 39083981 times by 12 tests
Evaluated by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
) {
2076-39083981
78-
79-
80-
81-
82-
83 allow_customize = 0;-
84 }
executed 2076 times by 12 tests: end of block
Executed by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
2076
85 (void)(file); (void)(line);-
86 ret = malloc(num);-
87-
88-
89 return
executed 39074005 times by 12 tests: return ret;
Executed by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
ret;
executed 39074005 times by 12 tests: return ret;
Executed by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
39074005
90}-
91-
92void *CRYPTO_zalloc(size_t num, const char *file, int line)-
93{-
94 void *ret = CRYPTO_malloc(num, file, line);-
95-
96 ;-
97 if (ret !=
ret != ((void *)0)Description
TRUEevaluated 21199178 times by 12 tests
Evaluated by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
FALSEnever evaluated
0-21199178
98 ((void *)0)
ret != ((void *)0)Description
TRUEevaluated 21199178 times by 12 tests
Evaluated by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
FALSEnever evaluated
0-21199178
99 )-
100 memset(ret, 0, num);
executed 21271141 times by 12 tests: memset(ret, 0, num);
Executed by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
21271141
101 return
executed 21227378 times by 12 tests: return ret;
Executed by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
ret;
executed 21227378 times by 12 tests: return ret;
Executed by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
21227378
102}-
103-
104void *CRYPTO_realloc(void *str, size_t num, const char *file, int line)-
105{-
106 ;-
107 if (realloc_impl !=
realloc_impl != ((void *)0)Description
TRUEevaluated 1652109 times by 11 tests
Evaluated by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
FALSEnever evaluated
0-1652109
108 ((void *)0)
realloc_impl != ((void *)0)Description
TRUEevaluated 1652109 times by 11 tests
Evaluated by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
FALSEnever evaluated
0-1652109
109 && realloc_impl != &CRYPTO_realloc
realloc_impl !...CRYPTO_reallocDescription
TRUEnever evaluated
FALSEevaluated 1652109 times by 11 tests
Evaluated by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
)
0-1652109
110 return
never executed: return realloc_impl(str, num, file, line);
realloc_impl(str, num, file, line);
never executed: return realloc_impl(str, num, file, line);
0
111-
112 ;-
113 if (str ==
str == ((void *)0)Description
TRUEevaluated 1390728 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
FALSEevaluated 261381 times by 11 tests
Evaluated by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
261381-1390728
114 ((void *)0)
str == ((void *)0)Description
TRUEevaluated 1390728 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • sm2_internal_test
FALSEevaluated 261381 times by 11 tests
Evaluated by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
261381-1390728
115 )-
116 return
executed 1390728 times by 2 tests: return CRYPTO_malloc(num, file, line);
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
CRYPTO_malloc(num, file, line);
executed 1390728 times by 2 tests: return CRYPTO_malloc(num, file, line);
Executed by:
  • libcrypto.so.1.1
  • sm2_internal_test
1390728
117-
118 if (num == 0
num == 0Description
TRUEnever evaluated
FALSEevaluated 261381 times by 11 tests
Evaluated by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
) {
0-261381
119 CRYPTO_free(str, file, line);-
120 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
121 ((void *)0)
never executed: return ((void *)0) ;
0
122 ;
never executed: return ((void *)0) ;
0
123 }-
124 (void)(file); (void)(line);-
125-
126 return
executed 261381 times by 11 tests: return realloc(str, num);
Executed by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
realloc(str, num);
executed 261381 times by 11 tests: return realloc(str, num);
Executed by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
261381
127-
128}-
129-
130void *CRYPTO_clear_realloc(void *str, size_t old_len, size_t num,-
131 const char *file, int line)-
132{-
133 void *ret = -
134 ((void *)0)-
135 ;-
136-
137 if (str ==
str == ((void *)0)Description
TRUEevaluated 99980 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 89779 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
89779-99980
138 ((void *)0)
str == ((void *)0)Description
TRUEevaluated 99980 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 89779 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
89779-99980
139 )-
140 return
executed 99980 times by 1 test: return CRYPTO_malloc(num, file, line);
Executed by:
  • libcrypto.so.1.1
CRYPTO_malloc(num, file, line);
executed 99980 times by 1 test: return CRYPTO_malloc(num, file, line);
Executed by:
  • libcrypto.so.1.1
99980
141-
142 if (num == 0
num == 0Description
TRUEnever evaluated
FALSEevaluated 89779 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-89779
143 CRYPTO_clear_free(str, old_len, file, line);-
144 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
145 ((void *)0)
never executed: return ((void *)0) ;
0
146 ;
never executed: return ((void *)0) ;
0
147 }-
148-
149-
150 if (num < old_len
num < old_lenDescription
TRUEnever evaluated
FALSEevaluated 89779 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-89779
151 OPENSSL_cleanse((char*)str + num, old_len - num);-
152 return
never executed: return str;
str;
never executed: return str;
0
153 }-
154-
155 ret = CRYPTO_malloc(num, file, line);-
156 if (ret !=
ret != ((void *)0)Description
TRUEevaluated 89779 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-89779
157 ((void *)0)
ret != ((void *)0)Description
TRUEevaluated 89779 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
0-89779
158 ) {-
159 memcpy(ret, str, old_len);-
160 CRYPTO_clear_free(str, old_len, file, line);-
161 }
executed 89779 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
89779
162 return
executed 89779 times by 1 test: return ret;
Executed by:
  • libcrypto.so.1.1
ret;
executed 89779 times by 1 test: return ret;
Executed by:
  • libcrypto.so.1.1
89779
163}-
164-
165void CRYPTO_free(void *str, const char *file, int line)-
166{-
167 ;-
168 if (free_impl !=
free_impl != ((void *)0)Description
TRUEevaluated 44177933 times by 12 tests
Evaluated by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
FALSEnever evaluated
0-44177933
169 ((void *)0)
free_impl != ((void *)0)Description
TRUEevaluated 44177933 times by 12 tests
Evaluated by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
FALSEnever evaluated
0-44177933
170 && free_impl != &CRYPTO_free
free_impl != &CRYPTO_freeDescription
TRUEnever evaluated
FALSEevaluated 44207560 times by 12 tests
Evaluated by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
) {
0-44207560
171 free_impl(str, file, line);-
172 return;
never executed: return;
0
173 }-
174 free(str);-
175-
176}
executed 44210835 times by 12 tests: end of block
Executed by:
  • asn1_internal_test
  • chacha_internal_test
  • ctype_internal_test
  • curve448_internal_test
  • libcrypto.so.1.1
  • modes_internal_test
  • poly1305_internal_test
  • rdrand_sanitytest
  • siphash_internal_test
  • sm2_internal_test
  • sm4_internal_test
  • x509_internal_test
44210835
177-
178void CRYPTO_clear_free(void *str, size_t num, const char *file, int line)-
179{-
180 if (str ==
str == ((void *)0)Description
TRUEevaluated 302073 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 1330825 times by 3 tests
Evaluated by:
  • curve448_internal_test
  • libcrypto.so.1.1
  • sm2_internal_test
302073-1330825
181 ((void *)0)
str == ((void *)0)Description
TRUEevaluated 302073 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 1330825 times by 3 tests
Evaluated by:
  • curve448_internal_test
  • libcrypto.so.1.1
  • sm2_internal_test
302073-1330825
182 )-
183 return;
executed 302073 times by 1 test: return;
Executed by:
  • libcrypto.so.1.1
302073
184 if (num
numDescription
TRUEevaluated 1330823 times by 3 tests
Evaluated by:
  • curve448_internal_test
  • libcrypto.so.1.1
  • sm2_internal_test
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
2-1330823
185 OPENSSL_cleanse(str, num);
executed 1330823 times by 3 tests: OPENSSL_cleanse(str, num);
Executed by:
  • curve448_internal_test
  • libcrypto.so.1.1
  • sm2_internal_test
1330823
186 CRYPTO_free(str, file, line);-
187}
executed 1330825 times by 3 tests: end of block
Executed by:
  • curve448_internal_test
  • libcrypto.so.1.1
  • sm2_internal_test
1330825
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2