OpenCoverage

txt_db.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/txt_db/txt_db.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6TXT_DB *-
7TXT_DB_read(BIO *in, int num)-
8{-
9 TXT_DB *ret = -
10 ((void *)0)-
11 ;-
12 int er = 1;-
13 int esc = 0;-
14 long ln = 0;-
15 int i, add, n;-
16 int size = 512;-
17 int offset = 0;-
18 char *p, *f;-
19 OPENSSL_STRING *pp;-
20 BUF_MEM *buf = -
21 ((void *)0)-
22 ;-
23-
24 if ((
(buf = BUF_MEM...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
buf = BUF_MEM_new()) ==
(buf = BUF_MEM...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
25 ((void *)0)
(buf = BUF_MEM...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
26 )-
27 goto
never executed: goto err;
err;
never executed: goto err;
0
28 if (!BUF_MEM_grow(buf, size)
!BUF_MEM_grow(buf, size)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
29 goto
never executed: goto err;
err;
never executed: goto err;
0
30-
31 if ((
(ret = malloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
ret = malloc(sizeof(TXT_DB))) ==
(ret = malloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
32 ((void *)0)
(ret = malloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
33 )-
34 goto
never executed: goto err;
err;
never executed: goto err;
0
35 ret->num_fields = num;-
36 ret->index = -
37 ((void *)0)-
38 ;-
39 ret->qual = -
40 ((void *)0)-
41 ;-
42 if ((
(ret->data = (...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
ret->data = ((struct stack_st_OPENSSL_PSTRING *)sk_new_null())) ==
(ret->data = (...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
43 ((void *)0)
(ret->data = (...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
44 )-
45 goto
never executed: goto err;
err;
never executed: goto err;
0
46 if ((
(ret->index = ...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
ret->index = reallocarray(
(ret->index = ...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
47 ((void *)0)
(ret->index = ...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
48 , num, sizeof(*ret->index))) ==
(ret->index = ...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
49 ((void *)0)
(ret->index = ...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
50 )-
51 goto
never executed: goto err;
err;
never executed: goto err;
0
52 if ((
(ret->qual = r...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
ret->qual = reallocarray(
(ret->qual = r...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
53 ((void *)0)
(ret->qual = r...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
54 , num, sizeof(*(ret->qual)))) ==
(ret->qual = r...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
55 ((void *)0)
(ret->qual = r...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
56 )-
57 goto
never executed: goto err;
err;
never executed: goto err;
0
58 for (i = 0; i < num
i < numDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
59 ret->index[i] = -
60 ((void *)0)-
61 ;-
62 ret->qual[i] = -
63 ((void *)0)-
64 ;-
65 }
never executed: end of block
0
66-
67 add = (num + 1)*sizeof(char *);-
68 buf->data[size-1] = '\0';-
69 offset = 0;-
70 for (;;) {-
71 if (offset != 0
offset != 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
72 size += 512;-
73 if (!BUF_MEM_grow_clean(buf, size)
!BUF_MEM_grow_clean(buf, size)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
74 goto
never executed: goto err;
err;
never executed: goto err;
0
75 }
never executed: end of block
0
76 buf->data[offset] = '\0';-
77 BIO_gets(in, &(buf->data[offset]), size - offset);-
78 ln++;-
79 if (buf->data[offset] == '\0'
buf->data[offset] == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
80 break;
never executed: break;
0
81 if ((
(offset == 0)Description
TRUEnever evaluated
FALSEnever evaluated
offset == 0)
(offset == 0)Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(buf->data[0] == '#')Description
TRUEnever evaluated
FALSEnever evaluated
buf->data[0] == '#')
(buf->data[0] == '#')Description
TRUEnever evaluated
FALSEnever evaluated
)
0
82 continue;
never executed: continue;
0
83 i = strlen(&(buf->data[offset]));-
84 offset += i;-
85 if (buf->data[offset-1] != '\n'
buf->data[offset-1] != '\n'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
86 continue;
never executed: continue;
0
87 else {-
88 buf->data[offset-1] = '\0';-
89 if (!(p = malloc(add + offset))
!(p = malloc(add + offset))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
90 goto
never executed: goto err;
err;
never executed: goto err;
0
91 offset = 0;-
92 }
never executed: end of block
0
93 pp = (char **)p;-
94 p += add;-
95 n = 0;-
96 pp[n++] = p;-
97 i = 0;-
98 f = buf->data;-
99-
100 esc = 0;-
101 for (;;) {-
102 if (*
*f == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
f == '\0'
*f == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
103 break;
never executed: break;
0
104 if (*
*f == '\t'Description
TRUEnever evaluated
FALSEnever evaluated
f == '\t'
*f == '\t'Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
105 if (esc
escDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
106 p--;
never executed: p--;
0
107 else {-
108 *(p++)='\0';-
109 f++;-
110 if (n >= num
n >= numDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
111 break;
never executed: break;
0
112 pp[n++] = p;-
113 continue;
never executed: continue;
0
114 }-
115 }-
116 esc=(*f == '\\');-
117 *(p++)= *(f++);-
118 }
never executed: end of block
0
119 *(p++)='\0';-
120 if ((
(n != num)Description
TRUEnever evaluated
FALSEnever evaluated
n != num)
(n != num)Description
TRUEnever evaluated
FALSEnever evaluated
|| (*
(*f != '\0')Description
TRUEnever evaluated
FALSEnever evaluated
f != '\0')
(*f != '\0')Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
121 fprintf(-
122 stderr-
123 , "wrong number of fields on line %ld (looking for field %d, got %d, '%s' left)\n",ln,num,n,f);-
124 er = 2;-
125 goto
never executed: goto err;
err;
never executed: goto err;
0
126 }-
127 pp[n] = p;-
128 if (!sk_push(((_STACK*) (1 ? ret->data : (struct stack_st_OPENSSL_PSTRING*)0)), ((void*) (1 ? pp : (OPENSSL_STRING*)0)))
!sk_push(((_ST...L_STRING*)0)))Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
129 fprintf(-
130 stderr-
131 , "failure in sk_push\n");-
132 er = 2;-
133 goto
never executed: goto err;
err;
never executed: goto err;
0
134 }-
135 }
never executed: end of block
0
136 er = 0;-
137-
138err:
code before this statement never executed: err:
0
139 BUF_MEM_free(buf);-
140 if (er
erDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
141 if (er == 1
er == 1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
142 fprintf(
never executed: fprintf( stderr , "malloc failure\n");
0
143 stderr
never executed: fprintf( stderr , "malloc failure\n");
0
144 , "malloc failure\n");
never executed: fprintf( stderr , "malloc failure\n");
0
145 if (ret !=
ret != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
146 ((void *)0)
ret != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
147 ) {-
148 if (ret->data !=
ret->data != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
149 ((void *)0)
ret->data != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
150 )-
151 sk_free(((_STACK*) (1 ? ret->data : (struct stack_st_OPENSSL_PSTRING*)0)));
never executed: sk_free(((_STACK*) (1 ? ret->data : (struct stack_st_OPENSSL_PSTRING*)0)));
0
152 free(ret->index);-
153 free(ret->qual);-
154 free(ret);-
155 }
never executed: end of block
0
156 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
157 ((void *)0)
never executed: return ( ((void *)0) );
0
158 );
never executed: return ( ((void *)0) );
0
159 } else-
160 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
161}-
162-
163OPENSSL_STRING *-
164TXT_DB_get_by_index(TXT_DB *db, int idx, OPENSSL_STRING *value)-
165{-
166 OPENSSL_STRING *ret;-
167 struct lhash_st_OPENSSL_STRING *lh;-
168-
169 if (idx >= db->num_fields
idx >= db->num_fieldsDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
170 db->error = 3;-
171 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
172 ((void *)0)
never executed: return ( ((void *)0) );
0
173 );
never executed: return ( ((void *)0) );
0
174 }-
175 lh = db->index[idx];-
176 if (lh ==
lh == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
177 ((void *)0)
lh == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
178 ) {-
179 db->error = 4;-
180 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
181 ((void *)0)
never executed: return ( ((void *)0) );
0
182 );
never executed: return ( ((void *)0) );
0
183 }-
184 ret = ((OPENSSL_STRING *)lh_retrieve(((_LHASH *)((void*) (1 ? lh : (struct lhash_st_OPENSSL_STRING*)0))), ((void*) (1 ? value : (OPENSSL_STRING*)0))));-
185 db->error = 0;-
186 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
187}-
188-
189int-
190TXT_DB_create_index(TXT_DB *db, int field, int (*qual)(OPENSSL_STRING *),-
191 LHASH_HASH_FN_TYPE hash, LHASH_COMP_FN_TYPE cmp)-
192{-
193 struct lhash_st_OPENSSL_STRING *idx;-
194 OPENSSL_STRING *r;-
195 int i, n;-
196-
197 if (field >= db->num_fields
field >= db->num_fieldsDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
198 db->error = 3;-
199 return
never executed: return (0);
(0);
never executed: return (0);
0
200 }-
201-
202 if ((
(idx = (struct...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
idx = (struct lhash_st_OPENSSL_STRING *)lh_new(hash, cmp)) ==
(idx = (struct...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
203 ((void *)0)
(idx = (struct...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
204 ) {-
205 db->error = 1;-
206 return
never executed: return (0);
(0);
never executed: return (0);
0
207 }-
208 n = sk_num(((_STACK*) (1 ? db->data : (struct stack_st_OPENSSL_PSTRING*)0)));-
209 for (i = 0; i < n
i < nDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
210 r = ((OPENSSL_PSTRING)sk_value(((_STACK*) (1 ? db->data : (struct stack_st_OPENSSL_PSTRING*)0)), i));-
211 if ((
(qual != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
qual !=
(qual != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
212 ((void *)0)
(qual != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
213 )
(qual != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(qual(r) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
qual(r) == 0)
(qual(r) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
214 continue;
never executed: continue;
0
215 if ((
(r = ((OPENSSL...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
r = ((OPENSSL_STRING *)lh_insert(((_LHASH *)((void*) (1 ? idx : (struct lhash_st_OPENSSL_STRING*)0))), ((void*) (1 ? r : (OPENSSL_STRING*)0))))) !=
(r = ((OPENSSL...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
216 ((void *)0)
(r = ((OPENSSL...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
217 ) {-
218 db->error = 2;-
219 db->arg1 = sk_find(((_STACK*) (1 ? db->data : (struct stack_st_OPENSSL_PSTRING*)0)), ((void*) (1 ? r : (OPENSSL_STRING*)0)));-
220 db->arg2 = i;-
221 lh_free(((_LHASH *)((void*) (1 ? idx : (struct lhash_st_OPENSSL_STRING*)0))));-
222 return
never executed: return (0);
(0);
never executed: return (0);
0
223 }-
224 }
never executed: end of block
0
225 if (db->index[field] !=
db->index[fiel...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
226 ((void *)0)
db->index[fiel...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
227 )-
228 lh_free(((_LHASH *)((void*) (1 ? db->index[field] : (struct lhash_st_OPENSSL_STRING*)0))));
never executed: lh_free(((_LHASH *)((void*) (1 ? db->index[field] : (struct lhash_st_OPENSSL_STRING*)0))));
0
229 db->index[field] = idx;-
230 db->qual[field] = qual;-
231 return
never executed: return (1);
(1);
never executed: return (1);
0
232}-
233-
234long-
235TXT_DB_write(BIO *out, TXT_DB *db)-
236{-
237 long i, j,n, nn, l, tot = 0;-
238 char *p, **pp, *f;-
239 BUF_MEM *buf = -
240 ((void *)0)-
241 ;-
242 long ret = -1;-
243-
244 if ((
(buf = BUF_MEM...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
buf = BUF_MEM_new()) ==
(buf = BUF_MEM...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
245 ((void *)0)
(buf = BUF_MEM...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
246 )-
247 goto
never executed: goto err;
err;
never executed: goto err;
0
248 n = sk_num(((_STACK*) (1 ? db->data : (struct stack_st_OPENSSL_PSTRING*)0)));-
249 nn = db->num_fields;-
250 for (i = 0; i < n
i < nDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
251 pp = ((OPENSSL_PSTRING)sk_value(((_STACK*) (1 ? db->data : (struct stack_st_OPENSSL_PSTRING*)0)), i));-
252-
253 l = 0;-
254 for (j = 0; j < nn
j < nnDescription
TRUEnever evaluated
FALSEnever evaluated
; j++) {
0
255 if (pp[j] !=
pp[j] != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
256 ((void *)0)
pp[j] != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
257 )-
258 l += strlen(pp[j]);
never executed: l += strlen(pp[j]);
0
259 }
never executed: end of block
0
260 if (!BUF_MEM_grow_clean(buf, (int)(l*2 + nn))
!BUF_MEM_grow_...nt)(l*2 + nn))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
261 goto
never executed: goto err;
err;
never executed: goto err;
0
262-
263 p = buf->data;-
264 for (j = 0; j < nn
j < nnDescription
TRUEnever evaluated
FALSEnever evaluated
; j++) {
0
265 f = pp[j];-
266 if (f !=
f != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
267 ((void *)0)
f != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
268 )-
269 for (;;) {-
270 if (*
*f == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
f == '\0'
*f == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
271 break;
never executed: break;
0
272 if (*
*f == '\t'Description
TRUEnever evaluated
FALSEnever evaluated
f == '\t'
*f == '\t'Description
TRUEnever evaluated
FALSEnever evaluated
)
0
273 *(
never executed: *(p++) = '\\';
p++) = '\\';
never executed: *(p++) = '\\';
0
274 *(p++) = *(f++);-
275 }
never executed: end of block
0
276 *(p++) = '\t';-
277 }
never executed: end of block
0
278 p[-1] = '\n';-
279 j = p - buf->data;-
280 if (BIO_write(out, buf->data, (int)j) != j
BIO_write(out,..., (int)j) != jDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
281 goto
never executed: goto err;
err;
never executed: goto err;
0
282 tot += j;-
283 }
never executed: end of block
0
284 ret = tot;-
285-
286err:
code before this statement never executed: err:
0
287 if (buf !=
buf != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
288 ((void *)0)
buf != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
289 )-
290 BUF_MEM_free(buf);
never executed: BUF_MEM_free(buf);
0
291 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
292}-
293-
294int-
295TXT_DB_insert(TXT_DB *db, OPENSSL_STRING *row)-
296{-
297 int i;-
298 OPENSSL_STRING *r;-
299-
300 for (i = 0; i < db->num_fields
i < db->num_fieldsDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
301 if (db->index[i] !=
db->index[i] != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
302 ((void *)0)
db->index[i] != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
303 ) {-
304 if ((
(db->qual[i] != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
db->qual[i] !=
(db->qual[i] != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
305 ((void *)0)
(db->qual[i] != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
306 )
(db->qual[i] != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(db->qual[i](row) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
db->qual[i](row) == 0)
(db->qual[i](row) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
307 continue;
never executed: continue;
0
308 r = ((OPENSSL_STRING *)lh_retrieve(((_LHASH *)((void*) (1 ? db->index[i] : (struct lhash_st_OPENSSL_STRING*)0))), ((void*) (1 ? row : (OPENSSL_STRING*)0))));-
309 if (r !=
r != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
310 ((void *)0)
r != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
311 ) {-
312 db->error = 2;-
313 db->arg1 = i;-
314 db->arg_row = r;-
315 goto
never executed: goto err;
err;
never executed: goto err;
0
316 }-
317 }
never executed: end of block
0
318 }
never executed: end of block
0
319-
320 if (!sk_push(((_STACK*) (1 ? db->data : (struct stack_st_OPENSSL_PSTRING*)0)), ((void*) (1 ? row : (OPENSSL_STRING*)0)))
!sk_push(((_ST...L_STRING*)0)))Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
321 db->error = 1;-
322 goto
never executed: goto err;
err;
never executed: goto err;
0
323 }-
324-
325 for (i = 0; i < db->num_fields
i < db->num_fieldsDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
326 if (db->index[i] !=
db->index[i] != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
327 ((void *)0)
db->index[i] != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
328 ) {-
329 if ((
(db->qual[i] != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
db->qual[i] !=
(db->qual[i] != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
330 ((void *)0)
(db->qual[i] != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
331 )
(db->qual[i] != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(db->qual[i](row) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
db->qual[i](row) == 0)
(db->qual[i](row) == 0)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
332 continue;
never executed: continue;
0
333 (void)((OPENSSL_STRING *)lh_insert(((_LHASH *)((void*) (1 ? db->index[i] : (struct lhash_st_OPENSSL_STRING*)0))), ((void*) (1 ? row : (OPENSSL_STRING*)0))));-
334 }
never executed: end of block
0
335 }
never executed: end of block
0
336 return
never executed: return (1);
(1);
never executed: return (1);
0
337-
338err:-
339 return
never executed: return (0);
(0);
never executed: return (0);
0
340}-
341-
342void-
343TXT_DB_free(TXT_DB *db)-
344{-
345 int i, n;-
346 char **p, *max;-
347-
348 if (db ==
db == ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • freenull
FALSEnever evaluated
0-1
349 ((void *)0)
db == ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • freenull
FALSEnever evaluated
0-1
350 )-
351 return;
executed 1 time by 1 test: return;
Executed by:
  • freenull
1
352-
353 if (db->index !=
db->index != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
354 ((void *)0)
db->index != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
355 ) {-
356 for (i = db->num_fields - 1; i >= 0
i >= 0Description
TRUEnever evaluated
FALSEnever evaluated
; i--)
0
357 if (db->index[i] !=
db->index[i] != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
358 ((void *)0)
db->index[i] != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
359 )-
360 lh_free(((_LHASH *)((void*) (1 ? db->index[i] : (struct lhash_st_OPENSSL_STRING*)0))));
never executed: lh_free(((_LHASH *)((void*) (1 ? db->index[i] : (struct lhash_st_OPENSSL_STRING*)0))));
0
361 free(db->index);-
362 }
never executed: end of block
0
363 free(db->qual);-
364 if (db->data !=
db->data != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
365 ((void *)0)
db->data != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
366 ) {-
367 for (i = sk_num(((_STACK*) (1 ? db->data : (struct stack_st_OPENSSL_PSTRING*)0))) - 1; i >= 0
i >= 0Description
TRUEnever evaluated
FALSEnever evaluated
; i--) {
0
368-
369-
370 p = ((OPENSSL_PSTRING)sk_value(((_STACK*) (1 ? db->data : (struct stack_st_OPENSSL_PSTRING*)0)), i));-
371 max = p[db->num_fields];-
372 if (max ==
max == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
373 ((void *)0)
max == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
374 )-
375 {-
376 for (n = 0; n < db->num_fields
n < db->num_fieldsDescription
TRUEnever evaluated
FALSEnever evaluated
; n++)
0
377 free(p[n]);
never executed: free(p[n]);
0
378 }
never executed: end of block
else {
0
379 for (n = 0; n < db->num_fields
n < db->num_fieldsDescription
TRUEnever evaluated
FALSEnever evaluated
; n++) {
0
380 if (((
(p[n] < (char *)p)Description
TRUEnever evaluated
FALSEnever evaluated
p[n] < (char *)p)
(p[n] < (char *)p)Description
TRUEnever evaluated
FALSEnever evaluated
||
0
381 (
(p[n] > max)Description
TRUEnever evaluated
FALSEnever evaluated
p[n] > max)
(p[n] > max)Description
TRUEnever evaluated
FALSEnever evaluated
) &&
0
382 (
(p[n] != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
p[n] !=
(p[n] != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
383 ((void *)0)
(p[n] != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
384 )
(p[n] != ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
)
0
385 free(p[n]);
never executed: free(p[n]);
0
386 }
never executed: end of block
0
387 }
never executed: end of block
0
388 free(((OPENSSL_PSTRING)sk_value(((_STACK*) (1 ? db->data : (struct stack_st_OPENSSL_PSTRING*)0)), i)));-
389 }
never executed: end of block
0
390 sk_free(((_STACK*) (1 ? db->data : (struct stack_st_OPENSSL_PSTRING*)0)));-
391 }
never executed: end of block
0
392 free(db);-
393}
never executed: end of block
0
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2