OpenCoverage

by_dir.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/x509/by_dir.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8typedef struct lookup_dir_hashes_st {-
9 unsigned long hash;-
10 int suffix;-
11} BY_DIR_HASH;-
12-
13typedef struct lookup_dir_entry_st {-
14 char *dir;-
15 int dir_type;-
16 struct stack_st_BY_DIR_HASH *hashes;-
17} BY_DIR_ENTRY;-
18-
19typedef struct lookup_dir_st {-
20 BUF_MEM *buffer;-
21 struct stack_st_BY_DIR_ENTRY *dirs;-
22} BY_DIR;-
23-
24struct stack_st_BY_DIR_HASH { _STACK stack; };-
25struct stack_st_BY_DIR_ENTRY { _STACK stack; };-
26-
27static int dir_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long argl,-
28 char **ret);-
29static int new_dir(X509_LOOKUP *lu);-
30static void free_dir(X509_LOOKUP *lu);-
31static int add_cert_dir(BY_DIR *ctx, const char *dir, int type);-
32static int get_cert_by_subject(X509_LOOKUP *xl, int type, X509_NAME *name,-
33 X509_OBJECT *ret);-
34-
35static X509_LOOKUP_METHOD x509_dir_lookup = {-
36 .name = "Load certs from files in a directory",-
37 .new_item = new_dir,-
38 .free = free_dir,-
39 .init = -
40 ((void *)0)-
41 ,-
42 .shutdown = -
43 ((void *)0)-
44 ,-
45 .ctrl = dir_ctrl,-
46 .get_by_subject = get_cert_by_subject,-
47 .get_by_issuer_serial = -
48 ((void *)0)-
49 ,-
50 .get_by_fingerprint = -
51 ((void *)0)-
52 ,-
53 .get_by_alias = -
54 ((void *)0)-
55 ,-
56};-
57-
58X509_LOOKUP_METHOD *-
59X509_LOOKUP_hash_dir(void)-
60{-
61 return
executed 23 times by 2 tests: return (&x509_dir_lookup);
Executed by:
  • libcrypto.so.44.0.1
  • ssltest
(&x509_dir_lookup);
executed 23 times by 2 tests: return (&x509_dir_lookup);
Executed by:
  • libcrypto.so.44.0.1
  • ssltest
23
62}-
63-
64static int-
65dir_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long argl,-
66 char **retp)-
67{-
68 int ret = 0;-
69 BY_DIR *ld;-
70-
71 ld = (BY_DIR *)ctx->method_data;-
72-
73 switch (cmd) {-
74 case
executed 23 times by 2 tests: case 2:
Executed by:
  • libcrypto.so.44.0.1
  • ssltest
2:
executed 23 times by 2 tests: case 2:
Executed by:
  • libcrypto.so.44.0.1
  • ssltest
23
75 if (argl == 3
argl == 3Description
TRUEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
FALSEnever evaluated
) {
0-23
76 ret = add_cert_dir(ld, X509_get_default_cert_dir(),-
77 1);-
78 if (!ret
!retDescription
TRUEnever evaluated
FALSEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
) {
0-23
79 ERR_put_error(11,(0xfff),(103),__FILE__,136);-
80 }
never executed: end of block
0
81 }
executed 23 times by 2 tests: end of block
Executed by:
  • libcrypto.so.44.0.1
  • ssltest
else
23
82 ret = add_cert_dir(ld, argp, (int)argl);
never executed: ret = add_cert_dir(ld, argp, (int)argl);
0
83 break;
executed 23 times by 2 tests: break;
Executed by:
  • libcrypto.so.44.0.1
  • ssltest
23
84 }-
85 return
executed 23 times by 2 tests: return (ret);
Executed by:
  • libcrypto.so.44.0.1
  • ssltest
(ret);
executed 23 times by 2 tests: return (ret);
Executed by:
  • libcrypto.so.44.0.1
  • ssltest
23
86}-
87-
88static int-
89new_dir(X509_LOOKUP *lu)-
90{-
91 BY_DIR *a;-
92-
93 if ((
(a = malloc(si...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
a = malloc(sizeof(BY_DIR))) ==
(a = malloc(si...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
0-23
94 ((void *)0)
(a = malloc(si...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
0-23
95 )-
96 return
never executed: return (0);
(0);
never executed: return (0);
0
97 if ((
(a->buffer = B...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
a->buffer = BUF_MEM_new()) ==
(a->buffer = B...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
0-23
98 ((void *)0)
(a->buffer = B...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
0-23
99 ) {-
100 free(a);-
101 return
never executed: return (0);
(0);
never executed: return (0);
0
102 }-
103 a->dirs = -
104 ((void *)0)-
105 ;-
106 lu->method_data = (char *)a;-
107 return
executed 23 times by 2 tests: return (1);
Executed by:
  • libcrypto.so.44.0.1
  • ssltest
(1);
executed 23 times by 2 tests: return (1);
Executed by:
  • libcrypto.so.44.0.1
  • ssltest
23
108}-
109-
110static void-
111by_dir_hash_free(BY_DIR_HASH *hash)-
112{-
113 free(hash);-
114}
never executed: end of block
0
115-
116static int-
117by_dir_hash_cmp(const BY_DIR_HASH * const *a,-
118 const BY_DIR_HASH * const *b)-
119{-
120 if ((*
(*a)->hash > (*b)->hashDescription
TRUEnever evaluated
FALSEnever evaluated
a)->hash > (*b)->hash
(*a)->hash > (*b)->hashDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
121 return
never executed: return 1;
1;
never executed: return 1;
0
122 if ((*
(*a)->hash < (*b)->hashDescription
TRUEnever evaluated
FALSEnever evaluated
a)->hash < (*b)->hash
(*a)->hash < (*b)->hashDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
123 return
never executed: return -1;
-1;
never executed: return -1;
0
124 return
never executed: return 0;
0;
never executed: return 0;
0
125}-
126-
127static void-
128by_dir_entry_free(BY_DIR_ENTRY *ent)-
129{-
130 free(ent->dir);-
131 if (ent->hashes
ent->hashesDescription
TRUEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
FALSEnever evaluated
)
0-23
132 sk_pop_free(((_STACK*) (1 ? (ent->hashes) : (struct stack_st_BY_DIR_HASH*)0)), ((void (*)(void *)) ((1 ? (by_dir_hash_free) : (void (*)(BY_DIR_HASH *))0))));
executed 23 times by 2 tests: sk_pop_free(((_STACK*) (1 ? (ent->hashes) : (struct stack_st_BY_DIR_HASH*)0)), ((void (*)(void *)) ((1 ? (by_dir_hash_free) : (void (*)(BY_DIR_HASH *))0))));
Executed by:
  • libcrypto.so.44.0.1
  • ssltest
23
133 free(ent);-
134}
executed 23 times by 2 tests: end of block
Executed by:
  • libcrypto.so.44.0.1
  • ssltest
23
135-
136static void-
137free_dir(X509_LOOKUP *lu)-
138{-
139 BY_DIR *a;-
140-
141 a = (BY_DIR *)lu->method_data;-
142 if (a->dirs !=
a->dirs != ((void *)0)Description
TRUEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
FALSEnever evaluated
0-23
143 ((void *)0)
a->dirs != ((void *)0)Description
TRUEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
FALSEnever evaluated
0-23
144 )-
145 sk_pop_free(((_STACK*) (1 ? (a->dirs) : (struct stack_st_BY_DIR_ENTRY*)0)), ((void (*)(void *)) ((1 ? (by_dir_entry_free) : (void (*)(BY_DIR_ENTRY *))0))));
executed 23 times by 2 tests: sk_pop_free(((_STACK*) (1 ? (a->dirs) : (struct stack_st_BY_DIR_ENTRY*)0)), ((void (*)(void *)) ((1 ? (by_dir_entry_free) : (void (*)(BY_DIR_ENTRY *))0))));
Executed by:
  • libcrypto.so.44.0.1
  • ssltest
23
146 if (a->buffer !=
a->buffer != ((void *)0)Description
TRUEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
FALSEnever evaluated
0-23
147 ((void *)0)
a->buffer != ((void *)0)Description
TRUEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
FALSEnever evaluated
0-23
148 )-
149 BUF_MEM_free(a->buffer);
executed 23 times by 2 tests: BUF_MEM_free(a->buffer);
Executed by:
  • libcrypto.so.44.0.1
  • ssltest
23
150 free(a);-
151}
executed 23 times by 2 tests: end of block
Executed by:
  • libcrypto.so.44.0.1
  • ssltest
23
152-
153static int-
154add_cert_dir(BY_DIR *ctx, const char *dir, int type)-
155{-
156 int j;-
157 const char *s, *ss, *p;-
158 ptrdiff_t len;-
159-
160 if (dir ==
dir == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
0-23
161 ((void *)0)
dir == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
0-23
162 || !*dir
!*dirDescription
TRUEnever evaluated
FALSEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
) {
0-23
163 ERR_put_error(11,(0xfff),(113),__FILE__,208);-
164 return
never executed: return 0;
0;
never executed: return 0;
0
165 }-
166-
167 s = dir;-
168 p = s;-
169 do {-
170 if ((*
(*p == ':')Description
TRUEnever evaluated
FALSEevaluated 575 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
p == ':')
(*p == ':')Description
TRUEnever evaluated
FALSEevaluated 575 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
|| (*
(*p == '\0')Description
TRUEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
FALSEevaluated 552 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
p == '\0')
(*p == '\0')Description
TRUEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
FALSEevaluated 552 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
) {
0-575
171 BY_DIR_ENTRY *ent;-
172 ss = s;-
173 s = p + 1;-
174 len = p - ss;-
175 if (len == 0
len == 0Description
TRUEnever evaluated
FALSEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
)
0-23
176 continue;
never executed: continue;
0
177 for (j = 0; j < sk_num(((_STACK*) (1 ? (ctx->dirs) : (struct stack_st_BY_DIR_ENTRY*)0)))
j < sk_num(((_...IR_ENTRY*)0)))Description
TRUEnever evaluated
FALSEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
; j++) {
0-23
178 ent = ((BY_DIR_ENTRY *)sk_value(((_STACK*) (1 ? (ctx->dirs) : (struct stack_st_BY_DIR_ENTRY*)0)), (j)));-
179 if (strlen(ent->dir) == (size_t)len
strlen(ent->di...== (size_t)lenDescription
TRUEnever evaluated
FALSEnever evaluated
&&
0
180 -
181 (
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
__extension__ (__builtin_constant_p (
__builtin_cons... (size_t)len )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
182 (size_t)len
__builtin_cons... (size_t)len )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
183 )
__builtin_cons... (size_t)len )Description
TRUEnever evaluated
FALSEnever evaluated
&& ((__builtin_constant_p (
__builtin_cons...p ( ent->dir )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
184 ent->dir
__builtin_cons...p ( ent->dir )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
185 )
__builtin_cons...p ( ent->dir )Description
TRUEnever evaluated
FALSEnever evaluated
&& strlen (
strlen ( ent->...(size_t)len ))Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
186 ent->dir
strlen ( ent->...(size_t)len ))Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
187 ) < ((size_t) (
strlen ( ent->...(size_t)len ))Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
188 (size_t)len
strlen ( ent->...(size_t)len ))Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
189 ))
strlen ( ent->...(size_t)len ))Description
TRUEnever evaluated
FALSEnever evaluated
) || (__builtin_constant_p (
__builtin_constant_p ( ss )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
190 ss
__builtin_constant_p ( ss )Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
191 )
__builtin_constant_p ( ss )Description
TRUEnever evaluated
FALSEnever evaluated
&& strlen (
strlen ( ss ) ...(size_t)len ))Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
192 ss
strlen ( ss ) ...(size_t)len ))Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
193 ) < ((size_t) (
strlen ( ss ) ...(size_t)len ))Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
194 (size_t)len
strlen ( ss ) ...(size_t)len ))Description
TRUEnever evaluated
FALSEnever evaluated
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
195 ))
strlen ( ss ) ...(size_t)len ))Description
TRUEnever evaluated
FALSEnever evaluated
)) ? __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
196 ent->dir
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
197 ) && __builtin_constant_p (
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
198 ss
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
199 ) && (__s1_len = __builtin_strlen (
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
200 ent->dir
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
201 ), __s2_len = __builtin_strlen (
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
202 ss
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
203 ), (!((size_t)(const void *)((
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
204 ent->dir
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
205 ) + 1) - (size_t)(const void *)(
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
206 ent->dir
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
207 ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
208 ss
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
209 ) + 1) - (size_t)(const void *)(
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
210 ss
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
211 ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
212 ent->dir
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
213 ,
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
214 ss
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
215 ) : (__builtin_constant_p (
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
216 ent->dir
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
217 ) && ((size_t)(const void *)((
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
218 ent->dir
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
219 ) + 1) - (size_t)(const void *)(
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
220 ent->dir
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
221 ) == 1) && (__s1_len = __builtin_strlen (
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
222 ent->dir
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
223 ), __s1_len < 4) ? (__builtin_constant_p (
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
224 ss
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
225 ) && ((size_t)(const void *)((
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
226 ss
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
227 ) + 1) - (size_t)(const void *)(
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
228 ss
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
229 ) == 1) ? __builtin_strcmp (
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
230 ent->dir
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
231 ,
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
232 ss
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
233 ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
234 ss
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
235 ); int __result = (((const unsigned char *) (const char *) (
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
236 ent->dir
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
237 ))[0] - __s2[0]); if (__s1_len > 0
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
238 ent->dir
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
239 ))[1] - __s2[1]); if (__s1_len > 1
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
240 ent->dir
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
241 ))[2] - __s2[2]); if (__s1_len > 2
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( ent->dir ))[3] - __s2[3]);
0
242 ent->dir
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( ent->dir ))[3] - __s2[3]);
0
243 ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
244 ss
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
245 ) && ((size_t)(const void *)((
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
246 ss
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
247 ) + 1) - (size_t)(const void *)(
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
248 ss
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
249 ) == 1) && (__s2_len = __builtin_strlen (
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
250 ss
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
251 ), __s2_len < 4) ? (__builtin_constant_p (
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
252 ent->dir
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
253 ) && ((size_t)(const void *)((
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
254 ent->dir
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
255 ) + 1) - (size_t)(const void *)(
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
256 ent->dir
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
257 ) == 1) ? __builtin_strcmp (
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
258 ent->dir
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
259 ,
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
260 ss
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
261 ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
262 ent->dir
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
263 ); int __result = (((const unsigned char *) (const char *) (
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
264 ss
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
265 ))[0] - __s2[0]); if (__s2_len > 0
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
266 ss
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
267 ))[1] - __s2[1]); if (__s2_len > 1
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) { __result = (((const unsigned char *) (const char *) (
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
268 ss
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
269 ))[2] - __s2[2]); if (__s2_len > 2
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
&& __result == 0
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
) __result = (((const unsigned char *) (const char *) (
never executed: __result = (((const unsigned char *) (const char *) ( ss ))[3] - __s2[3]);
0
270 ss
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
never executed: __result = (((const unsigned char *) (const char *) ( ss ))[3] - __s2[3]);
0
271 ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
272 ent->dir
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
273 ,
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
274 ss
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
275 )))); }) : strncmp (
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
276 ent->dir
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
277 ,
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
278 ss
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
279 ,
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
280 (size_t)len
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
281 )))
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
282 == 0
(__extension__...t)len ))) == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
283 break;
never executed: break;
0
284 }
never executed: end of block
0
285 if (j < sk_num(((_STACK*) (1 ? (ctx->dirs) : (struct stack_st_BY_DIR_ENTRY*)0)))
j < sk_num(((_...IR_ENTRY*)0)))Description
TRUEnever evaluated
FALSEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
)
0-23
286 continue;
never executed: continue;
0
287 if (ctx->dirs ==
ctx->dirs == ((void *)0)Description
TRUEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
FALSEnever evaluated
0-23
288 ((void *)0)
ctx->dirs == ((void *)0)Description
TRUEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
FALSEnever evaluated
0-23
289 ) {-
290 ctx->dirs = ((struct stack_st_BY_DIR_ENTRY *)sk_new_null());-
291 if (!ctx->dirs
!ctx->dirsDescription
TRUEnever evaluated
FALSEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
) {
0-23
292 ERR_put_error(11,(0xfff),((1|64)),__FILE__,233);-
293 return
never executed: return 0;
0;
never executed: return 0;
0
294 }-
295 }
executed 23 times by 2 tests: end of block
Executed by:
  • libcrypto.so.44.0.1
  • ssltest
23
296 ent = malloc(sizeof(BY_DIR_ENTRY));-
297 if (!ent
!entDescription
TRUEnever evaluated
FALSEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
) {
0-23
298 ERR_put_error(11,(0xfff),((1|64)),__FILE__,239);-
299 return
never executed: return 0;
0;
never executed: return 0;
0
300 }-
301 ent->dir_type = type;-
302 ent->hashes = ((struct stack_st_BY_DIR_HASH *)sk_new(((int (*)(const void *, const void *)) ((1 ? (by_dir_hash_cmp) : (int (*)(const BY_DIR_HASH * const *, const BY_DIR_HASH * const *))0)))));-
303 ent->dir = -
304 (__extension__ (__builtin_constant_p (
__builtin_constant_p ( ss )Description
TRUEnever evaluated
FALSEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
0-23
305 ss
__builtin_constant_p ( ss )Description
TRUEnever evaluated
FALSEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
0-23
306 )
__builtin_constant_p ( ss )Description
TRUEnever evaluated
FALSEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
&& ((
((size_t)(cons...*)( ss ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
size_t)(const void *)((
((size_t)(cons...*)( ss ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
0-23
307 ss
((size_t)(cons...*)( ss ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
308 ) + 1) - (size_t)(const void *)(
((size_t)(cons...*)( ss ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
309 ss
((size_t)(cons...*)( ss ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
0
310 ) == 1)
((size_t)(cons...*)( ss ) == 1)Description
TRUEnever evaluated
FALSEnever evaluated
? (((const
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
char *) (
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
0
311 ss
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
0
312 ))[0] == '\0'
((const char *... ))[0] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
? (char *) calloc ((size_t) 1, (size_t) 1) : ({ size_t __len = strlen (
0
313 ss-
314 ) + 1; size_t __n = (-
315 (size_t)len-
316 ); char *__retval; if (__n < __len
__n < __lenDescription
TRUEnever evaluated
FALSEnever evaluated
) __len = __n + 1;
never executed: __len = __n + 1;
__retval = (char *) malloc (__len); if (__retval != ((void *)0)
__retval != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
) { __retval[__len - 1] = '\0'; __retval = (char *) memcpy (__retval,
0
317 ss-
318 , __len - 1); }
never executed: end of block
__retval; })) : __strndup (
0
319 ss-
320 , -
321 (size_t)len-
322 )))-
323 ;-
324 if (!ent->dir
!ent->dirDescription
TRUEnever evaluated
FALSEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
|| !ent->hashes
!ent->hashesDescription
TRUEnever evaluated
FALSEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
) {
0-23
325 ERR_put_error(11,(0xfff),((1|64)),__FILE__,246);-
326 by_dir_entry_free(ent);-
327 return
never executed: return 0;
0;
never executed: return 0;
0
328 }-
329 if (!sk_push(((_STACK*) (1 ? (ctx->dirs) : (struct stack_st_BY_DIR_ENTRY*)0)), ((void*) (1 ? (ent) : (BY_DIR_ENTRY*)0)))
!sk_push(((_ST...IR_ENTRY*)0)))Description
TRUEnever evaluated
FALSEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
) {
0-23
330 ERR_put_error(11,(0xfff),((1|64)),__FILE__,251);-
331 by_dir_entry_free(ent);-
332 return
never executed: return 0;
0;
never executed: return 0;
0
333 }-
334 }
executed 23 times by 2 tests: end of block
Executed by:
  • libcrypto.so.44.0.1
  • ssltest
23
335 }
executed 575 times by 2 tests: end of block
Executed by:
  • libcrypto.so.44.0.1
  • ssltest
while (*
*p++ != '\0'Description
TRUEevaluated 552 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
FALSEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
p++ != '\0'
*p++ != '\0'Description
TRUEevaluated 552 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
FALSEevaluated 23 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • ssltest
);
23-575
336 return
executed 23 times by 2 tests: return 1;
Executed by:
  • libcrypto.so.44.0.1
  • ssltest
1;
executed 23 times by 2 tests: return 1;
Executed by:
  • libcrypto.so.44.0.1
  • ssltest
23
337}-
338-
339static int-
340get_cert_by_subject(X509_LOOKUP *xl, int type, X509_NAME *name,-
341 X509_OBJECT *ret)-
342{-
343 BY_DIR *ctx;-
344 union {-
345 struct {-
346 X509 st_x509;-
347 X509_CINF st_x509_cinf;-
348 } x509;-
349 struct {-
350 X509_CRL st_crl;-
351 X509_CRL_INFO st_crl_info;-
352 } crl;-
353 } data;-
354 int ok = 0;-
355 int i, j, k;-
356 unsigned long h;-
357 BUF_MEM *b = -
358 ((void *)0)-
359 ;-
360 X509_OBJECT stmp, *tmp;-
361 const char *postfix="";-
362-
363 if (name ==
name == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
364 ((void *)0)
name == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
365 )-
366 return
never executed: return (0);
(0);
never executed: return (0);
0
367-
368 stmp.type = type;-
369 if (type == 1
type == 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
370 data.x509.st_x509.cert_info = &data.x509.st_x509_cinf;-
371 data.x509.st_x509_cinf.subject = name;-
372 stmp.data.x509 = &data.x509.st_x509;-
373 postfix="";-
374 }
never executed: end of block
else if (type == 2
type == 2Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
375 data.crl.st_crl.crl = &data.crl.st_crl_info;-
376 data.crl.st_crl_info.issuer = name;-
377 stmp.data.crl = &data.crl.st_crl;-
378 postfix="r";-
379 }
never executed: end of block
else {
0
380 ERR_put_error(11,(0xfff),(112),__FILE__,297);-
381 goto
never executed: goto finish;
finish;
never executed: goto finish;
0
382 }-
383-
384 if ((
(b = BUF_MEM_n...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
b = BUF_MEM_new()) ==
(b = BUF_MEM_n...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
385 ((void *)0)
(b = BUF_MEM_n...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
386 ) {-
387 ERR_put_error(11,(0xfff),(7),__FILE__,302);-
388 goto
never executed: goto finish;
finish;
never executed: goto finish;
0
389 }-
390-
391 ctx = (BY_DIR *)xl->method_data;-
392-
393 h = X509_NAME_hash(name);-
394 for (i = 0; i < sk_num(((_STACK*) (1 ? (ctx->dirs) : (struct stack_st_BY_DIR_ENTRY*)0)))
i < sk_num(((_...IR_ENTRY*)0)))Description
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
395 BY_DIR_ENTRY *ent;-
396 int idx;-
397 BY_DIR_HASH htmp, *hent;-
398 ent = ((BY_DIR_ENTRY *)sk_value(((_STACK*) (1 ? (ctx->dirs) : (struct stack_st_BY_DIR_ENTRY*)0)), (i)));-
399 j = strlen(ent->dir) + 1 + 8 + 6 + 1 + 1;-
400 if (!BUF_MEM_grow(b, j)
!BUF_MEM_grow(b, j)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
401 ERR_put_error(11,(0xfff),((1|64)),__FILE__,316);-
402 goto
never executed: goto finish;
finish;
never executed: goto finish;
0
403 }-
404 if (type == 2
type == 2Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
405 htmp.hash = h;-
406 CRYPTO_lock(1|4,11,__FILE__,321);-
407 idx = sk_find(((_STACK*) (1 ? (ent->hashes) : (struct stack_st_BY_DIR_HASH*)0)), ((void*) (1 ? (&htmp) : (BY_DIR_HASH*)0)));-
408 if (idx >= 0
idx >= 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
409 hent = ((BY_DIR_HASH *)sk_value(((_STACK*) (1 ? (ent->hashes) : (struct stack_st_BY_DIR_HASH*)0)), (idx)));-
410 k = hent->suffix;-
411 }
never executed: end of block
else {
0
412 hent = -
413 ((void *)0)-
414 ;-
415 k = 0;-
416 }
never executed: end of block
0
417 CRYPTO_lock(2|4,11,__FILE__,330);-
418 }
never executed: end of block
else {
0
419 k = 0;-
420 hent = -
421 ((void *)0)-
422 ;-
423 }
never executed: end of block
0
424 for (;;) {-
425 (void) snprintf(b->data, b->max, "%s/%08lx.%s%d",-
426 ent->dir, h, postfix, k);-
427-
428 {-
429 struct stat st;-
430 if (stat(b->data, &st) < 0
stat(b->data, &st) < 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
431 break;
never executed: break;
0
432 }-
433-
434 if (type == 1
type == 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
435 if ((
(X509_load_cer...ir_type)) == 0Description
TRUEnever evaluated
FALSEnever evaluated
X509_load_cert_file(xl, b->data,
(X509_load_cer...ir_type)) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
436 ent->dir_type)) == 0
(X509_load_cer...ir_type)) == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
437 break;
never executed: break;
0
438 }
never executed: end of block
else if (type == 2
type == 2Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
439 if ((
(X509_load_crl...ir_type)) == 0Description
TRUEnever evaluated
FALSEnever evaluated
X509_load_crl_file(xl, b->data,
(X509_load_crl...ir_type)) == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
440 ent->dir_type)) == 0
(X509_load_crl...ir_type)) == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
441 break;
never executed: break;
0
442 }
never executed: end of block
0
443-
444 k++;-
445 }
never executed: end of block
0
446-
447-
448 CRYPTO_lock(1|8,11,__FILE__,359);-
449 j = sk_find(((_STACK*) (1 ? (xl->store_ctx->objs) : (struct stack_st_X509_OBJECT*)0)), ((void*) (1 ? (&stmp) : (X509_OBJECT*)0)));-
450 if (j != -1
j != -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
451 tmp = ((X509_OBJECT *)sk_value(((_STACK*) (1 ? (xl->store_ctx->objs) : (struct stack_st_X509_OBJECT*)0)), (j)));
never executed: tmp = ((X509_OBJECT *)sk_value(((_STACK*) (1 ? (xl->store_ctx->objs) : (struct stack_st_X509_OBJECT*)0)), (j)));
0
452 else-
453 tmp =
never executed: tmp = ((void *)0) ;
0
454 ((void *)0)
never executed: tmp = ((void *)0) ;
0
455 ;
never executed: tmp = ((void *)0) ;
0
456 CRYPTO_lock(2|8,11,__FILE__,365);-
457-
458-
459 if (type == 2
type == 2Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
460 CRYPTO_lock(1|8,11,__FILE__,369);-
461-
462-
463-
464-
465 if (!hent
!hentDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
466 htmp.hash = h;-
467 idx = sk_find(((_STACK*) (1 ? (ent->hashes) : (struct stack_st_BY_DIR_HASH*)0)), ((void*) (1 ? (&htmp) : (BY_DIR_HASH*)0)));-
468 if (idx >= 0
idx >= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
469 hent = ((BY_DIR_HASH *)sk_value(((_STACK*) (1 ? (ent->hashes) : (struct stack_st_BY_DIR_HASH*)0)), (idx)))
never executed: hent = ((BY_DIR_HASH *)sk_value(((_STACK*) (1 ? (ent->hashes) : (struct stack_st_BY_DIR_HASH*)0)), (idx))) ;
0
470 ;
never executed: hent = ((BY_DIR_HASH *)sk_value(((_STACK*) (1 ? (ent->hashes) : (struct stack_st_BY_DIR_HASH*)0)), (idx))) ;
0
471 }
never executed: end of block
0
472 if (!hent
!hentDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
473 hent = malloc(sizeof(BY_DIR_HASH));-
474 if (!hent
!hentDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
475 ERR_put_error(11,(0xfff),((1|64)),__FILE__,384);-
476 CRYPTO_lock(2|8,11,__FILE__,385);-
477 ok = 0;-
478 goto
never executed: goto finish;
finish;
never executed: goto finish;
0
479 }-
480 hent->hash = h;-
481 hent->suffix = k;-
482 if (!sk_push(((_STACK*) (1 ? (ent->hashes) : (struct stack_st_BY_DIR_HASH*)0)), ((void*) (1 ? (hent) : (BY_DIR_HASH*)0)))
!sk_push(((_ST...DIR_HASH*)0)))Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
483 ERR_put_error(11,(0xfff),((1|64)),__FILE__,392);-
484 CRYPTO_lock(2|8,11,__FILE__,393);-
485 free(hent);-
486 ok = 0;-
487 goto
never executed: goto finish;
finish;
never executed: goto finish;
0
488 }-
489 }
never executed: end of block
else if (hent->suffix < k
hent->suffix < kDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
490 hent->suffix = k;
never executed: hent->suffix = k;
0
491-
492 CRYPTO_lock(2|8,11,__FILE__,401);-
493-
494 }
never executed: end of block
0
495-
496 if (tmp !=
tmp != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
497 ((void *)0)
tmp != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
498 ) {-
499 ok = 1;-
500 ret->type = tmp->type;-
501 memcpy(&ret->data, &tmp->data, sizeof(ret->data));-
502-
503-
504-
505-
506-
507-
508 goto
never executed: goto finish;
finish;
never executed: goto finish;
0
509 }-
510 }
never executed: end of block
0
511finish:
code before this statement never executed: finish:
0
512 if (b !=
b != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
513 ((void *)0)
b != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
514 )-
515 BUF_MEM_free(b);
never executed: BUF_MEM_free(b);
0
516 return
never executed: return (ok);
(ok);
never executed: return (ok);
0
517}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2