OpenCoverage

obj_dat.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/objects/obj_dat.c
Source codeSwitch to Preprocessed file
LineSourceCount
1/* $OpenBSD: obj_dat.c,v 1.41 2018/09/08 13:49:26 tb Exp $ */-
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)-
3 * All rights reserved.-
4 *-
5 * This package is an SSL implementation written-
6 * by Eric Young (eay@cryptsoft.com).-
7 * The implementation was written so as to conform with Netscapes SSL.-
8 *-
9 * This library is free for commercial and non-commercial use as long as-
10 * the following conditions are aheared to. The following conditions-
11 * apply to all code found in this distribution, be it the RC4, RSA,-
12 * lhash, DES, etc., code; not just the SSL code. The SSL documentation-
13 * included with this distribution is covered by the same copyright terms-
14 * except that the holder is Tim Hudson (tjh@cryptsoft.com).-
15 *-
16 * Copyright remains Eric Young's, and as such any Copyright notices in-
17 * the code are not to be removed.-
18 * If this package is used in a product, Eric Young should be given attribution-
19 * as the author of the parts of the library used.-
20 * This can be in the form of a textual message at program startup or-
21 * in documentation (online or textual) provided with the package.-
22 *-
23 * Redistribution and use in source and binary forms, with or without-
24 * modification, are permitted provided that the following conditions-
25 * are met:-
26 * 1. Redistributions of source code must retain the copyright-
27 * notice, this list of conditions and the following disclaimer.-
28 * 2. Redistributions in binary form must reproduce the above copyright-
29 * notice, this list of conditions and the following disclaimer in the-
30 * documentation and/or other materials provided with the distribution.-
31 * 3. All advertising materials mentioning features or use of this software-
32 * must display the following acknowledgement:-
33 * "This product includes cryptographic software written by-
34 * Eric Young (eay@cryptsoft.com)"-
35 * The word 'cryptographic' can be left out if the rouines from the library-
36 * being used are not cryptographic related :-).-
37 * 4. If you include any Windows specific code (or a derivative thereof) from-
38 * the apps directory (application code) you must include an acknowledgement:-
39 * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"-
40 *-
41 * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND-
42 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE-
43 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE-
44 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE-
45 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL-
46 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS-
47 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)-
48 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT-
49 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY-
50 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF-
51 * SUCH DAMAGE.-
52 *-
53 * The licence and distribution terms for any publically available version or-
54 * derivative of this code cannot be changed. i.e. this code cannot simply be-
55 * copied and put under another distribution licence-
56 * [including the GNU Public Licence.]-
57 */-
58-
59#include <ctype.h>-
60#include <limits.h>-
61#include <stdio.h>-
62#include <string.h>-
63-
64#include <openssl/opensslconf.h>-
65-
66#include <openssl/asn1.h>-
67#include <openssl/bn.h>-
68#include <openssl/err.h>-
69#include <openssl/lhash.h>-
70#include <openssl/objects.h>-
71-
72/* obj_dat.h is generated from objects.h by obj_dat.pl */-
73#include "obj_dat.h"-
74-
75static int sn_cmp_BSEARCH_CMP_FN(const void *, const void *);-
76static int sn_cmp(const ASN1_OBJECT * const *, unsigned int const *);-
77static unsigned int *OBJ_bsearch_sn(const ASN1_OBJECT * *key, unsigned int const *base, int num);-
78static int ln_cmp_BSEARCH_CMP_FN(const void *, const void *);-
79static int ln_cmp(const ASN1_OBJECT * const *, unsigned int const *);-
80static unsigned int *OBJ_bsearch_ln(const ASN1_OBJECT * *key, unsigned int const *base, int num);-
81static int obj_cmp_BSEARCH_CMP_FN(const void *, const void *);-
82static int obj_cmp(const ASN1_OBJECT * const *, unsigned int const *);-
83static unsigned int *OBJ_bsearch_obj(const ASN1_OBJECT * *key, unsigned int const *base, int num);-
84-
85#define ADDED_DATA 0-
86#define ADDED_SNAME 1-
87#define ADDED_LNAME 2-
88#define ADDED_NID 3-
89-
90typedef struct added_obj_st {-
91 int type;-
92 ASN1_OBJECT *obj;-
93} ADDED_OBJ;-
94DECLARE_LHASH_OF(ADDED_OBJ);-
95-
96static int new_nid = NUM_NID;-
97static LHASH_OF(ADDED_OBJ) *added = NULL;-
98-
99static int sn_cmp(const ASN1_OBJECT * const *a, const unsigned int *b)-
100{-
101 return (strcmp((*a)->sn, nid_objs[*b].sn));
executed 475 times by 5 tests: return ( __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( (*a)->sn ) && __builtin_constant_p ( nid_objs[*b].sn ) && (__s1_len = __builtin_strlen ( (*a)->sn ), __s2_len = __builtin_strlen ( nid_objs[*b].sn ), (!((size_t)(const void *)(( ...*) (const char *) ( nid_objs[*b].sn ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( nid_objs[*b].sn ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( (*a)->sn , nid_objs[*b].sn )))); }) );
Executed by:
  • configtest
  • gost2814789t
  • libcrypto.so.44.0.1
  • tlstest
  • verifytest
never executed: __result = (((const unsigned char *) (const char *) ( (*a)->sn ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
never executed: __result = (((const unsigned char *) (const char *) ( nid_objs[*b].sn ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
0-475
102}-
103-
104-
105static int-
106sn_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_)-
107{-
108 const ASN1_OBJECT * const *a = a_;-
109 unsigned int const *b = b_;-
110 return sn_cmp(a, b);
executed 475 times by 5 tests: return sn_cmp(a, b);
Executed by:
  • configtest
  • gost2814789t
  • libcrypto.so.44.0.1
  • tlstest
  • verifytest
475
111}-
112-
113static unsigned int *-
114OBJ_bsearch_sn(const ASN1_OBJECT * *key, unsigned int const *base, int num)-
115{-
116 return (unsigned int *)OBJ_bsearch_(key, base, num, sizeof(unsigned int),
executed 49 times by 5 tests: return (unsigned int *)OBJ_bsearch_(key, base, num, sizeof(unsigned int), sn_cmp_BSEARCH_CMP_FN);
Executed by:
  • configtest
  • gost2814789t
  • libcrypto.so.44.0.1
  • tlstest
  • verifytest
49
117 sn_cmp_BSEARCH_CMP_FN);
executed 49 times by 5 tests: return (unsigned int *)OBJ_bsearch_(key, base, num, sizeof(unsigned int), sn_cmp_BSEARCH_CMP_FN);
Executed by:
  • configtest
  • gost2814789t
  • libcrypto.so.44.0.1
  • tlstest
  • verifytest
49
118}-
119-
120static int ln_cmp(const ASN1_OBJECT * const *a, const unsigned int *b)-
121{-
122 return (strcmp((*a)->ln, nid_objs[*b].ln));
executed 206 times by 4 tests: return ( __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( (*a)->ln ) && __builtin_constant_p ( nid_objs[*b].ln ) && (__s1_len = __builtin_strlen ( (*a)->ln ), __s2_len = __builtin_strlen ( nid_objs[*b].ln ), (!((size_t)(const void *)(( ...*) (const char *) ( nid_objs[*b].ln ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( nid_objs[*b].ln ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( (*a)->ln , nid_objs[*b].ln )))); }) );
Executed by:
  • configtest
  • libcrypto.so.44.0.1
  • tlstest
  • verifytest
never executed: __result = (((const unsigned char *) (const char *) ( (*a)->ln ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
never executed: __result = (((const unsigned char *) (const char *) ( nid_objs[*b].ln ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
0-206
123}-
124-
125-
126static int-
127ln_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_)-
128{-
129 const ASN1_OBJECT * const *a = a_;-
130 unsigned int const *b = b_;-
131 return ln_cmp(a, b);
executed 206 times by 4 tests: return ln_cmp(a, b);
Executed by:
  • configtest
  • libcrypto.so.44.0.1
  • tlstest
  • verifytest
206
132}-
133-
134static unsigned int *-
135OBJ_bsearch_ln(const ASN1_OBJECT * *key, unsigned int const *base, int num)-
136{-
137 return (unsigned int *)OBJ_bsearch_(key, base, num, sizeof(unsigned int),
executed 22 times by 4 tests: return (unsigned int *)OBJ_bsearch_(key, base, num, sizeof(unsigned int), ln_cmp_BSEARCH_CMP_FN);
Executed by:
  • configtest
  • libcrypto.so.44.0.1
  • tlstest
  • verifytest
22
138 ln_cmp_BSEARCH_CMP_FN);
executed 22 times by 4 tests: return (unsigned int *)OBJ_bsearch_(key, base, num, sizeof(unsigned int), ln_cmp_BSEARCH_CMP_FN);
Executed by:
  • configtest
  • libcrypto.so.44.0.1
  • tlstest
  • verifytest
22
139}-
140-
141static unsigned long-
142added_obj_hash(const ADDED_OBJ *ca)-
143{-
144 const ASN1_OBJECT *a;-
145 int i;-
146 unsigned long ret = 0;-
147 unsigned char *p;-
148-
149 a = ca->obj;-
150 switch (ca->type) {-
151 case ADDED_DATA:
executed 55 times by 1 test: case 0:
Executed by:
  • libcrypto.so.44.0.1
55
152 ret = a->length << 20L;-
153 p = (unsigned char *)a->data;-
154 for (i = 0; i < a->length; i++)
i < a->lengthDescription
TRUEevaluated 308 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEevaluated 55 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
55-308
155 ret ^= p[i] << ((i * 3) % 24);
executed 308 times by 1 test: ret ^= p[i] << ((i * 3) % 24);
Executed by:
  • libcrypto.so.44.0.1
308
156 break;
executed 55 times by 1 test: break;
Executed by:
  • libcrypto.so.44.0.1
55
157 case ADDED_SNAME:
executed 3 times by 1 test: case 1:
Executed by:
  • libcrypto.so.44.0.1
3
158 ret = lh_strhash(a->sn);-
159 break;
executed 3 times by 1 test: break;
Executed by:
  • libcrypto.so.44.0.1
3
160 case ADDED_LNAME:
executed 3 times by 1 test: case 2:
Executed by:
  • libcrypto.so.44.0.1
3
161 ret = lh_strhash(a->ln);-
162 break;
executed 3 times by 1 test: break;
Executed by:
  • libcrypto.so.44.0.1
3
163 case ADDED_NID:
executed 3 times by 1 test: case 3:
Executed by:
  • libcrypto.so.44.0.1
3
164 ret = a->nid;-
165 break;
executed 3 times by 1 test: break;
Executed by:
  • libcrypto.so.44.0.1
3
166 default:
never executed: default:
0
167 /* abort(); */-
168 return 0;
never executed: return 0;
0
169 }-
170 ret &= 0x3fffffffL;-
171 ret |= ca->type << 30L;-
172 return (ret);
executed 64 times by 1 test: return (ret);
Executed by:
  • libcrypto.so.44.0.1
64
173}-
174static
executed 64 times by 1 test: return added_obj_hash(a);
Executed by:
  • libcrypto.so.44.0.1
IMPLEMENT_LHASH_HASH_FN(added_obj, ADDED_OBJ)
executed 64 times by 1 test: return added_obj_hash(a);
Executed by:
  • libcrypto.so.44.0.1
64
175-
176static int-
177added_obj_cmp(const ADDED_OBJ *ca, const ADDED_OBJ *cb)-
178{-
179 ASN1_OBJECT *a, *b;-
180 int i;-
181-
182 i = ca->type - cb->type;-
183 if (i)
iDescription
TRUEnever evaluated
FALSEnever evaluated
0
184 return (i);
never executed: return (i);
0
185 a = ca->obj;-
186 b = cb->obj;-
187 switch (ca->type) {-
188 case ADDED_DATA:
never executed: case 0:
0
189 i = (a->length - b->length);-
190 if (i)
iDescription
TRUEnever evaluated
FALSEnever evaluated
0
191 return (i);
never executed: return (i);
0
192 return (memcmp(a->data, b->data, (size_t)a->length));
never executed: return (memcmp(a->data, b->data, (size_t)a->length));
0
193 case ADDED_SNAME:
never executed: case 1:
0
194 if (a->sn == NULL)
a->sn == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
195 return (-1);
never executed: return (-1);
0
196 else if (b->sn == NULL)
b->sn == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
197 return (1);
never executed: return (1);
0
198 else-
199 return (strcmp(a->sn, b->sn));
never executed: return ( __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->sn ) && __builtin_constant_p ( b->sn ) && (__s1_len = __builtin_strlen ( a->sn ), __s2_len = __builtin_strlen ( b->sn ), (!((size_t)(const void *)(( a->sn ) + 1) - (size_t)(co..._result = (((const unsigned char *) (const char *) ( b->sn ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->sn ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->sn , b->sn )))); }) );
never executed: __result = (((const unsigned char *) (const char *) ( a->sn ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
never executed: __result = (((const unsigned char *) (const char *) ( b->sn ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
200 case ADDED_LNAME:
never executed: case 2:
0
201 if (a->ln == NULL)
a->ln == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
202 return (-1);
never executed: return (-1);
0
203 else if (b->ln == NULL)
b->ln == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
204 return (1);
never executed: return (1);
0
205 else-
206 return (strcmp(a->ln, b->ln));
never executed: return ( __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p ( a->ln ) && __builtin_constant_p ( b->ln ) && (__s1_len = __builtin_strlen ( a->ln ), __s2_len = __builtin_strlen ( b->ln ), (!((size_t)(const void *)(( a->ln ) + 1) - (size_t)(co..._result = (((const unsigned char *) (const char *) ( b->ln ))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ( b->ln ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp ( a->ln , b->ln )))); }) );
never executed: __result = (((const unsigned char *) (const char *) ( a->ln ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
never executed: __result = (((const unsigned char *) (const char *) ( b->ln ))[3] - __s2[3]);
never executed: end of block
never executed: end of block
__s1_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s1_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 0Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
__s2_len > 2Description
TRUEnever evaluated
FALSEnever evaluated
__result == 0Description
TRUEnever evaluated
FALSEnever evaluated
0
207 case ADDED_NID:
never executed: case 3:
0
208 return (a->nid - b->nid);
never executed: return (a->nid - b->nid);
0
209 default:
never executed: default:
0
210 /* abort(); */-
211 return 0;
never executed: return 0;
0
212 }-
213}-
214static
never executed: return added_obj_cmp(a,b);
IMPLEMENT_LHASH_COMP_FN(added_obj, ADDED_OBJ)
never executed: return added_obj_cmp(a,b);
0
215-
216static int-
217init_added(void)-
218{-
219 if (added != NULL)
added != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-3
220 return (1);
never executed: return (1);
0
221 added = lh_ADDED_OBJ_new();-
222 return (added != NULL);
executed 3 times by 1 test: return (added != ((void *)0) );
Executed by:
  • libcrypto.so.44.0.1
3
223}-
224-
225static void-
226cleanup1_doall(ADDED_OBJ *a)-
227{-
228 a->obj->nid = 0;-
229 a->obj->flags |= ASN1_OBJECT_FLAG_DYNAMIC |-
230 ASN1_OBJECT_FLAG_DYNAMIC_STRINGS |-
231 ASN1_OBJECT_FLAG_DYNAMIC_DATA;-
232}
executed 12 times by 1 test: end of block
Executed by:
  • libcrypto.so.44.0.1
12
233-
234static void cleanup2_doall(ADDED_OBJ *a)-
235{-
236 a->obj->nid++;-
237}
executed 12 times by 1 test: end of block
Executed by:
  • libcrypto.so.44.0.1
12
238-
239static void-
240cleanup3_doall(ADDED_OBJ *a)-
241{-
242 if (--a->obj->nid == 0)
--a->obj->nid == 0Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEevaluated 9 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
3-9
243 ASN1_OBJECT_free(a->obj);
executed 3 times by 1 test: ASN1_OBJECT_free(a->obj);
Executed by:
  • libcrypto.so.44.0.1
3
244 free(a);-
245}
executed 12 times by 1 test: end of block
Executed by:
  • libcrypto.so.44.0.1
12
246-
247static
executed 12 times by 1 test: end of block
Executed by:
  • libcrypto.so.44.0.1
IMPLEMENT_LHASH_DOALL_FN(cleanup1, ADDED_OBJ)
executed 12 times by 1 test: end of block
Executed by:
  • libcrypto.so.44.0.1
12
248static
executed 12 times by 1 test: end of block
Executed by:
  • libcrypto.so.44.0.1
IMPLEMENT_LHASH_DOALL_FN(cleanup2, ADDED_OBJ)
executed 12 times by 1 test: end of block
Executed by:
  • libcrypto.so.44.0.1
12
249static
executed 12 times by 1 test: end of block
Executed by:
  • libcrypto.so.44.0.1
IMPLEMENT_LHASH_DOALL_FN(cleanup3, ADDED_OBJ)
executed 12 times by 1 test: end of block
Executed by:
  • libcrypto.so.44.0.1
12
250-
251/* The purpose of obj_cleanup_defer is to avoid EVP_cleanup() attempting-
252 * to use freed up OIDs. If neccessary the actual freeing up of OIDs is-
253 * delayed.-
254 */-
255-
256int obj_cleanup_defer = 0;-
257-
258void-
259check_defer(int nid)-
260{-
261 if (!obj_cleanup_defer && nid >= NUM_NID)
!obj_cleanup_deferDescription
TRUEevaluated 43693 times by 33 tests
Evaluated by:
  • asn1test
  • base64test
  • bnaddsub
  • bntest
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • enginetest
  • evptest
  • exptest
  • gost2814789t
  • hkdftest
  • keypairtest
  • libcrypto.so.44.0.1
  • mont
  • pbkdf2
  • pkcs7test
  • rc4test
  • rsa_test
  • ...
FALSEnever evaluated
nid >= 968Description
TRUEnever evaluated
FALSEevaluated 43693 times by 33 tests
Evaluated by:
  • asn1test
  • base64test
  • bnaddsub
  • bntest
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • enginetest
  • evptest
  • exptest
  • gost2814789t
  • hkdftest
  • keypairtest
  • libcrypto.so.44.0.1
  • mont
  • pbkdf2
  • pkcs7test
  • rc4test
  • rsa_test
  • ...
0-43693
262 obj_cleanup_defer = 1;
never executed: obj_cleanup_defer = 1;
0
263}
executed 43693 times by 33 tests: end of block
Executed by:
  • asn1test
  • base64test
  • bnaddsub
  • bntest
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • enginetest
  • evptest
  • exptest
  • gost2814789t
  • hkdftest
  • keypairtest
  • libcrypto.so.44.0.1
  • mont
  • pbkdf2
  • pkcs7test
  • rc4test
  • rsa_test
  • ...
43693
264-
265void-
266OBJ_cleanup(void)-
267{-
268 if (obj_cleanup_defer) {
obj_cleanup_deferDescription
TRUEnever evaluated
FALSEevaluated 216 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-216
269 obj_cleanup_defer = 2;-
270 return;
never executed: return;
0
271 }-
272 if (added == NULL)
added == ((void *)0)Description
TRUEevaluated 213 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
3-213
273 return;
executed 213 times by 1 test: return;
Executed by:
  • libcrypto.so.44.0.1
213
274 lh_ADDED_OBJ_down_load(added) = 0;-
275 lh_ADDED_OBJ_doall(added, LHASH_DOALL_FN(cleanup1)); /* zero counters */-
276 lh_ADDED_OBJ_doall(added, LHASH_DOALL_FN(cleanup2)); /* set counters */-
277 lh_ADDED_OBJ_doall(added, LHASH_DOALL_FN(cleanup3)); /* free objects */-
278 lh_ADDED_OBJ_free(added);-
279 added = NULL;-
280}
executed 3 times by 1 test: end of block
Executed by:
  • libcrypto.so.44.0.1
3
281-
282int-
283OBJ_new_nid(int num)-
284{-
285 int i;-
286-
287 i = new_nid;-
288 new_nid += num;-
289 return (i);
executed 3 times by 1 test: return (i);
Executed by:
  • libcrypto.so.44.0.1
3
290}-
291-
292int-
293OBJ_add_object(const ASN1_OBJECT *obj)-
294{-
295 ASN1_OBJECT *o;-
296 ADDED_OBJ *ao[4] = {NULL, NULL, NULL, NULL}, *aop;-
297 int i;-
298-
299 if (added == NULL)
added == ((void *)0)Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEnever evaluated
0-3
300 if (!init_added())
!init_added()Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-3
301 return (0);
never executed: return (0);
0
302 if ((o = OBJ_dup(obj)) == NULL)
(o = OBJ_dup(o...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-3
303 goto err;
never executed: goto err;
0
304 if (!(ao[ADDED_NID] = malloc(sizeof(ADDED_OBJ))))
!(ao[3] = mall...f(ADDED_OBJ)))Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-3
305 goto err2;
never executed: goto err2;
0
306 if ((o->length != 0) && (obj->data != NULL))
(o->length != 0)Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEnever evaluated
(obj->data != ((void *)0) )Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEnever evaluated
0-3
307 if (!(ao[ADDED_DATA] = malloc(sizeof(ADDED_OBJ))))
!(ao[0] = mall...f(ADDED_OBJ)))Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-3
308 goto err2;
never executed: goto err2;
0
309 if (o->sn != NULL)
o->sn != ((void *)0)Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEnever evaluated
0-3
310 if (!(ao[ADDED_SNAME] = malloc(sizeof(ADDED_OBJ))))
!(ao[1] = mall...f(ADDED_OBJ)))Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-3
311 goto err2;
never executed: goto err2;
0
312 if (o->ln != NULL)
o->ln != ((void *)0)Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEnever evaluated
0-3
313 if (!(ao[ADDED_LNAME] = malloc(sizeof(ADDED_OBJ))))
!(ao[2] = mall...f(ADDED_OBJ)))Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-3
314 goto err2;
never executed: goto err2;
0
315-
316 for (i = ADDED_DATA; i <= ADDED_NID; i++) {
i <= 3Description
TRUEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
3-12
317 if (ao[i] != NULL) {
ao[i] != ((void *)0)Description
TRUEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEnever evaluated
0-12
318 ao[i]->type = i;-
319 ao[i]->obj = o;-
320 aop = lh_ADDED_OBJ_insert(added, ao[i]);-
321 /* memory leak, buit should not normally matter */-
322 free(aop);-
323 }
executed 12 times by 1 test: end of block
Executed by:
  • libcrypto.so.44.0.1
12
324 }
executed 12 times by 1 test: end of block
Executed by:
  • libcrypto.so.44.0.1
12
325 o->flags &= ~(ASN1_OBJECT_FLAG_DYNAMIC |-
326 ASN1_OBJECT_FLAG_DYNAMIC_STRINGS |-
327 ASN1_OBJECT_FLAG_DYNAMIC_DATA);-
328-
329 return (o->nid);
executed 3 times by 1 test: return (o->nid);
Executed by:
  • libcrypto.so.44.0.1
3
330-
331 err2:-
332 OBJerror(ERR_R_MALLOC_FAILURE);-
333 err:
code before this statement never executed: err:
0
334 for (i = ADDED_DATA; i <= ADDED_NID; i++)
i <= 3Description
TRUEnever evaluated
FALSEnever evaluated
0
335 free(ao[i]);
never executed: free(ao[i]);
0
336 ASN1_OBJECT_free(o);-
337 return (NID_undef);
never executed: return (0);
0
338}-
339-
340ASN1_OBJECT *-
341OBJ_nid2obj(int n)-
342{-
343 ADDED_OBJ ad, *adp;-
344 ASN1_OBJECT ob;-
345-
346 if ((n >= 0) && (n < NUM_NID)) {
(n >= 0)Description
TRUEevaluated 5605 times by 9 tests
Evaluated by:
  • asn1test
  • gost2814789t
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
FALSEnever evaluated
(n < 968)Description
TRUEevaluated 5605 times by 9 tests
Evaluated by:
  • asn1test
  • gost2814789t
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
FALSEnever evaluated
0-5605
347 if ((n != NID_undef) && (nid_objs[n].nid == NID_undef)) {
(n != 0)Description
TRUEevaluated 324 times by 7 tests
Evaluated by:
  • gost2814789t
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
FALSEevaluated 5281 times by 8 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
(nid_objs[n].nid == 0)Description
TRUEnever evaluated
FALSEevaluated 324 times by 7 tests
Evaluated by:
  • gost2814789t
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
0-5281
348 OBJerror(OBJ_R_UNKNOWN_NID);-
349 return (NULL);
never executed: return ( ((void *)0) );
0
350 }-
351 return ((ASN1_OBJECT *)&(nid_objs[n]));
executed 5605 times by 9 tests: return ((ASN1_OBJECT *)&(nid_objs[n]));
Executed by:
  • asn1test
  • gost2814789t
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
5605
352 } else if (added == NULL)
added == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
353 return (NULL);
never executed: return ( ((void *)0) );
0
354 else {-
355 ad.type = ADDED_NID;-
356 ad.obj = &ob;-
357 ob.nid = n;-
358 adp = lh_ADDED_OBJ_retrieve(added, &ad);-
359 if (adp != NULL)
adp != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
360 return (adp->obj);
never executed: return (adp->obj);
0
361 else {-
362 OBJerror(OBJ_R_UNKNOWN_NID);-
363 return (NULL);
never executed: return ( ((void *)0) );
0
364 }-
365 }-
366}-
367-
368const char *-
369OBJ_nid2sn(int n)-
370{-
371 ADDED_OBJ ad, *adp;-
372 ASN1_OBJECT ob;-
373-
374 if ((n >= 0) && (n < NUM_NID)) {
(n >= 0)Description
TRUEevaluated 45155 times by 33 tests
Evaluated by:
  • asn1test
  • base64test
  • bnaddsub
  • bntest
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • enginetest
  • evptest
  • exptest
  • gost2814789t
  • hkdftest
  • keypairtest
  • libcrypto.so.44.0.1
  • mont
  • pbkdf2
  • pkcs7test
  • rc4test
  • rsa_test
  • ...
FALSEnever evaluated
(n < 968)Description
TRUEevaluated 45155 times by 33 tests
Evaluated by:
  • asn1test
  • base64test
  • bnaddsub
  • bntest
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • enginetest
  • evptest
  • exptest
  • gost2814789t
  • hkdftest
  • keypairtest
  • libcrypto.so.44.0.1
  • mont
  • pbkdf2
  • pkcs7test
  • rc4test
  • rsa_test
  • ...
FALSEnever evaluated
0-45155
375 if ((n != NID_undef) && (nid_objs[n].nid == NID_undef)) {
(n != 0)Description
TRUEevaluated 45155 times by 33 tests
Evaluated by:
  • asn1test
  • base64test
  • bnaddsub
  • bntest
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • enginetest
  • evptest
  • exptest
  • gost2814789t
  • hkdftest
  • keypairtest
  • libcrypto.so.44.0.1
  • mont
  • pbkdf2
  • pkcs7test
  • rc4test
  • rsa_test
  • ...
FALSEnever evaluated
(nid_objs[n].nid == 0)Description
TRUEnever evaluated
FALSEevaluated 45155 times by 33 tests
Evaluated by:
  • asn1test
  • base64test
  • bnaddsub
  • bntest
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • enginetest
  • evptest
  • exptest
  • gost2814789t
  • hkdftest
  • keypairtest
  • libcrypto.so.44.0.1
  • mont
  • pbkdf2
  • pkcs7test
  • rc4test
  • rsa_test
  • ...
0-45155
376 OBJerror(OBJ_R_UNKNOWN_NID);-
377 return (NULL);
never executed: return ( ((void *)0) );
0
378 }-
379 return (nid_objs[n].sn);
executed 45155 times by 33 tests: return (nid_objs[n].sn);
Executed by:
  • asn1test
  • base64test
  • bnaddsub
  • bntest
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • enginetest
  • evptest
  • exptest
  • gost2814789t
  • hkdftest
  • keypairtest
  • libcrypto.so.44.0.1
  • mont
  • pbkdf2
  • pkcs7test
  • rc4test
  • rsa_test
  • ...
45155
380 } else if (added == NULL)
added == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
381 return (NULL);
never executed: return ( ((void *)0) );
0
382 else {-
383 ad.type = ADDED_NID;-
384 ad.obj = &ob;-
385 ob.nid = n;-
386 adp = lh_ADDED_OBJ_retrieve(added, &ad);-
387 if (adp != NULL)
adp != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
388 return (adp->obj->sn);
never executed: return (adp->obj->sn);
0
389 else {-
390 OBJerror(OBJ_R_UNKNOWN_NID);-
391 return (NULL);
never executed: return ( ((void *)0) );
0
392 }-
393 }-
394}-
395-
396const char *-
397OBJ_nid2ln(int n)-
398{-
399 ADDED_OBJ ad, *adp;-
400 ASN1_OBJECT ob;-
401-
402 if ((n >= 0) && (n < NUM_NID)) {
(n >= 0)Description
TRUEevaluated 43705 times by 33 tests
Evaluated by:
  • asn1test
  • base64test
  • bnaddsub
  • bntest
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • enginetest
  • evptest
  • exptest
  • gost2814789t
  • hkdftest
  • keypairtest
  • libcrypto.so.44.0.1
  • mont
  • pbkdf2
  • pkcs7test
  • rc4test
  • rsa_test
  • ...
FALSEnever evaluated
(n < 968)Description
TRUEevaluated 43705 times by 33 tests
Evaluated by:
  • asn1test
  • base64test
  • bnaddsub
  • bntest
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • enginetest
  • evptest
  • exptest
  • gost2814789t
  • hkdftest
  • keypairtest
  • libcrypto.so.44.0.1
  • mont
  • pbkdf2
  • pkcs7test
  • rc4test
  • rsa_test
  • ...
FALSEnever evaluated
0-43705
403 if ((n != NID_undef) && (nid_objs[n].nid == NID_undef)) {
(n != 0)Description
TRUEevaluated 43705 times by 33 tests
Evaluated by:
  • asn1test
  • base64test
  • bnaddsub
  • bntest
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • enginetest
  • evptest
  • exptest
  • gost2814789t
  • hkdftest
  • keypairtest
  • libcrypto.so.44.0.1
  • mont
  • pbkdf2
  • pkcs7test
  • rc4test
  • rsa_test
  • ...
FALSEnever evaluated
(nid_objs[n].nid == 0)Description
TRUEnever evaluated
FALSEevaluated 43705 times by 33 tests
Evaluated by:
  • asn1test
  • base64test
  • bnaddsub
  • bntest
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • enginetest
  • evptest
  • exptest
  • gost2814789t
  • hkdftest
  • keypairtest
  • libcrypto.so.44.0.1
  • mont
  • pbkdf2
  • pkcs7test
  • rc4test
  • rsa_test
  • ...
0-43705
404 OBJerror(OBJ_R_UNKNOWN_NID);-
405 return (NULL);
never executed: return ( ((void *)0) );
0
406 }-
407 return (nid_objs[n].ln);
executed 43705 times by 33 tests: return (nid_objs[n].ln);
Executed by:
  • asn1test
  • base64test
  • bnaddsub
  • bntest
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • dhtest
  • dsatest
  • ecdhtest
  • ecdsatest
  • ectest
  • enginetest
  • evptest
  • exptest
  • gost2814789t
  • hkdftest
  • keypairtest
  • libcrypto.so.44.0.1
  • mont
  • pbkdf2
  • pkcs7test
  • rc4test
  • rsa_test
  • ...
43705
408 } else if (added == NULL)
added == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
409 return (NULL);
never executed: return ( ((void *)0) );
0
410 else {-
411 ad.type = ADDED_NID;-
412 ad.obj = &ob;-
413 ob.nid = n;-
414 adp = lh_ADDED_OBJ_retrieve(added, &ad);-
415 if (adp != NULL)
adp != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
416 return (adp->obj->ln);
never executed: return (adp->obj->ln);
0
417 else {-
418 OBJerror(OBJ_R_UNKNOWN_NID);-
419 return (NULL);
never executed: return ( ((void *)0) );
0
420 }-
421 }-
422}-
423-
424static int-
425obj_cmp(const ASN1_OBJECT * const *ap, const unsigned int *bp)-
426{-
427 int j;-
428 const ASN1_OBJECT *a= *ap;-
429 const ASN1_OBJECT *b = &nid_objs[*bp];-
430-
431 j = (a->length - b->length);-
432 if (j)
jDescription
TRUEevaluated 21263 times by 7 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 65629 times by 7 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
21263-65629
433 return (j);
executed 21263 times by 7 tests: return (j);
Executed by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
21263
434 return (memcmp(a->data, b->data, a->length));
executed 65629 times by 7 tests: return (memcmp(a->data, b->data, a->length));
Executed by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
65629
435}-
436-
437-
438static int-
439obj_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_)-
440{-
441 const ASN1_OBJECT * const *a = a_;-
442 unsigned int const *b = b_;-
443 return obj_cmp(a, b);
executed 86892 times by 7 tests: return obj_cmp(a, b);
Executed by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
86892
444}-
445-
446static unsigned int *-
447OBJ_bsearch_obj(const ASN1_OBJECT * *key, unsigned int const *base, int num)-
448{-
449 return (unsigned int *)OBJ_bsearch_(key, base, num, sizeof(unsigned int),
executed 9774 times by 7 tests: return (unsigned int *)OBJ_bsearch_(key, base, num, sizeof(unsigned int), obj_cmp_BSEARCH_CMP_FN);
Executed by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
9774
450 obj_cmp_BSEARCH_CMP_FN);
executed 9774 times by 7 tests: return (unsigned int *)OBJ_bsearch_(key, base, num, sizeof(unsigned int), obj_cmp_BSEARCH_CMP_FN);
Executed by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
9774
451}-
452-
453int-
454OBJ_obj2nid(const ASN1_OBJECT *a)-
455{-
456 const unsigned int *op;-
457 ADDED_OBJ ad, *adp;-
458-
459 if (a == NULL)
a == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 9946 times by 9 tests
Evaluated by:
  • asn1test
  • gost2814789t
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
  • verifytest
0-9946
460 return (NID_undef);
never executed: return (0);
0
461 if (a->nid != 0)
a->nid != 0Description
TRUEevaluated 172 times by 4 tests
Evaluated by:
  • gost2814789t
  • libcrypto.so.44.0.1
  • pkcs7test
  • verifytest
FALSEevaluated 9774 times by 7 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
172-9774
462 return (a->nid);
executed 172 times by 4 tests: return (a->nid);
Executed by:
  • gost2814789t
  • libcrypto.so.44.0.1
  • pkcs7test
  • verifytest
172
463-
464 if (added != NULL) {
added != ((void *)0)Description
TRUEevaluated 52 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEevaluated 9722 times by 7 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
52-9722
465 ad.type = ADDED_DATA;-
466 ad.obj=(ASN1_OBJECT *)a; /* XXX: ugly but harmless */-
467 adp = lh_ADDED_OBJ_retrieve(added, &ad);-
468 if (adp != NULL)
adp != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 52 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-52
469 return (adp->obj->nid);
never executed: return (adp->obj->nid);
0
470 }
executed 52 times by 1 test: end of block
Executed by:
  • libcrypto.so.44.0.1
52
471 op = OBJ_bsearch_obj(&a, obj_objs, NUM_OBJ);-
472 if (op == NULL)
op == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 9774 times by 7 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-9774
473 return (NID_undef);
never executed: return (0);
0
474 return (nid_objs[*op].nid);
executed 9774 times by 7 tests: return (nid_objs[*op].nid);
Executed by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
9774
475}-
476-
477/* Convert an object name into an ASN1_OBJECT-
478 * if "noname" is not set then search for short and long names first.-
479 * This will convert the "dotted" form into an object: unlike OBJ_txt2nid-
480 * it can be used with any objects, not just registered ones.-
481 */-
482-
483ASN1_OBJECT *-
484OBJ_txt2obj(const char *s, int no_name)-
485{-
486 int nid = NID_undef;-
487 ASN1_OBJECT *op = NULL;-
488 unsigned char *buf;-
489 unsigned char *p;-
490 const unsigned char *cp;-
491 int i, j;-
492-
493 if (!no_name) {
!no_nameDescription
TRUEevaluated 28 times by 2 tests
Evaluated by:
  • gost2814789t
  • libcrypto.so.44.0.1
FALSEnever evaluated
0-28
494 if (((nid = OBJ_sn2nid(s)) != NID_undef) ||
((nid = OBJ_sn2nid(s)) != 0)Description
TRUEevaluated 20 times by 1 test
Evaluated by:
  • gost2814789t
FALSEevaluated 8 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
8-20
495 ((nid = OBJ_ln2nid(s)) != NID_undef) )
((nid = OBJ_ln2nid(s)) != 0)Description
TRUEevaluated 8 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEnever evaluated
0-8
496 return OBJ_nid2obj(nid);
executed 28 times by 2 tests: return OBJ_nid2obj(nid);
Executed by:
  • gost2814789t
  • libcrypto.so.44.0.1
28
497 }
never executed: end of block
0
498-
499 /* Work out size of content octets */-
500 i = a2d_ASN1_OBJECT(NULL, 0, s, -1);-
501 if (i <= 0) {
i <= 0Description
TRUEnever evaluated
FALSEnever evaluated
0
502 /* Don't clear the error */-
503 /*ERR_clear_error();*/-
504 return NULL;
never executed: return ((void *)0) ;
0
505 }-
506 /* Work out total size */-
507 j = ASN1_object_size(0, i, V_ASN1_OBJECT);-
508-
509 if ((buf = malloc(j)) == NULL)
(buf = malloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
510 return NULL;
never executed: return ((void *)0) ;
0
511-
512 p = buf;-
513 /* Write out tag+length */-
514 ASN1_put_object(&p, 0, i, V_ASN1_OBJECT, V_ASN1_UNIVERSAL);-
515 /* Write out contents */-
516 a2d_ASN1_OBJECT(p, i, s, -1);-
517-
518 cp = buf;-
519 op = d2i_ASN1_OBJECT(NULL, &cp, j);-
520 free(buf);-
521 return op;
never executed: return op;
0
522}-
523-
524int-
525OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name)-
526{-
527 int i, ret = 0, len, nid, first = 1, use_bn;-
528 BIGNUM *bl = NULL;-
529 unsigned long l;-
530 const unsigned char *p;-
531-
532 /* Ensure that, at every state, |buf| is NUL-terminated. */-
533 if (buf_len > 0)
buf_len > 0Description
TRUEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEnever evaluated
0-12
534 buf[0] = '\0';
executed 12 times by 1 test: buf[0] = '\0';
Executed by:
  • libcrypto.so.44.0.1
12
535-
536 if ((a == NULL) || (a->data == NULL))
(a == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
(a->data == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-12
537 goto err;
never executed: goto err;
0
538-
539 if (!no_name && (nid = OBJ_obj2nid(a)) != NID_undef) {
!no_nameDescription
TRUEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEnever evaluated
(nid = OBJ_obj2nid(a)) != 0Description
TRUEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEnever evaluated
0-12
540 const char *s;-
541 s = OBJ_nid2ln(nid);-
542 if (s == NULL)
s == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-12
543 s = OBJ_nid2sn(nid);
never executed: s = OBJ_nid2sn(nid);
0
544 if (s) {
sDescription
TRUEevaluated 12 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEnever evaluated
0-12
545 ret = strlcpy(buf, s, buf_len);-
546 goto out;
executed 12 times by 1 test: goto out;
Executed by:
  • libcrypto.so.44.0.1
12
547 }-
548 }
never executed: end of block
0
549-
550 len = a->length;-
551 p = a->data;-
552-
553 while (len > 0) {
len > 0Description
TRUEnever evaluated
FALSEnever evaluated
0
554 l = 0;-
555 use_bn = 0;-
556 for (;;) {-
557 unsigned char c = *p++;-
558 len--;-
559 if ((len == 0) && (c & 0x80))
(len == 0)Description
TRUEnever evaluated
FALSEnever evaluated
(c & 0x80)Description
TRUEnever evaluated
FALSEnever evaluated
0
560 goto err;
never executed: goto err;
0
561 if (use_bn) {
use_bnDescription
TRUEnever evaluated
FALSEnever evaluated
0
562 if (!BN_add_word(bl, c & 0x7f))
!BN_add_word(bl, c & 0x7f)Description
TRUEnever evaluated
FALSEnever evaluated
0
563 goto err;
never executed: goto err;
0
564 } else
never executed: end of block
0
565 l |= c & 0x7f;
never executed: l |= c & 0x7f;
0
566 if (!(c & 0x80))
!(c & 0x80)Description
TRUEnever evaluated
FALSEnever evaluated
0
567 break;
never executed: break;
0
568 if (!use_bn && (l > (ULONG_MAX >> 7L))) {
!use_bnDescription
TRUEnever evaluated
FALSEnever evaluated
(l > ( (0x7fff...+ 1UL) >> 7L))Description
TRUEnever evaluated
FALSEnever evaluated
0
569 if (!bl && !(bl = BN_new()))
!blDescription
TRUEnever evaluated
FALSEnever evaluated
!(bl = BN_new())Description
TRUEnever evaluated
FALSEnever evaluated
0
570 goto err;
never executed: goto err;
0
571 if (!BN_set_word(bl, l))
!BN_set_word(bl, l)Description
TRUEnever evaluated
FALSEnever evaluated
0
572 goto err;
never executed: goto err;
0
573 use_bn = 1;-
574 }
never executed: end of block
0
575 if (use_bn) {
use_bnDescription
TRUEnever evaluated
FALSEnever evaluated
0
576 if (!BN_lshift(bl, bl, 7))
!BN_lshift(bl, bl, 7)Description
TRUEnever evaluated
FALSEnever evaluated
0
577 goto err;
never executed: goto err;
0
578 } else
never executed: end of block
0
579 l <<= 7L;
never executed: l <<= 7L;
0
580 }-
581-
582 if (first) {
firstDescription
TRUEnever evaluated
FALSEnever evaluated
0
583 first = 0;-
584 if (l >= 80) {
l >= 80Description
TRUEnever evaluated
FALSEnever evaluated
0
585 i = 2;-
586 if (use_bn) {
use_bnDescription
TRUEnever evaluated
FALSEnever evaluated
0
587 if (!BN_sub_word(bl, 80))
!BN_sub_word(bl, 80)Description
TRUEnever evaluated
FALSEnever evaluated
0
588 goto err;
never executed: goto err;
0
589 } else
never executed: end of block
0
590 l -= 80;
never executed: l -= 80;
0
591 } else {-
592 i = (int)(l / 40);-
593 l -= (long)(i * 40);-
594 }
never executed: end of block
0
595 if (buf_len > 1) {
buf_len > 1Description
TRUEnever evaluated
FALSEnever evaluated
0
596 *buf++ = i + '0';-
597 *buf = '\0';-
598 buf_len--;-
599 }
never executed: end of block
0
600 ret++;-
601 }
never executed: end of block
0
602-
603 if (use_bn) {
use_bnDescription
TRUEnever evaluated
FALSEnever evaluated
0
604 char *bndec;-
605-
606 bndec = BN_bn2dec(bl);-
607 if (!bndec)
!bndecDescription
TRUEnever evaluated
FALSEnever evaluated
0
608 goto err;
never executed: goto err;
0
609 i = snprintf(buf, buf_len, ".%s", bndec);-
610 free(bndec);-
611 if (i == -1)
i == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
612 goto err;
never executed: goto err;
0
613 if (i >= buf_len) {
i >= buf_lenDescription
TRUEnever evaluated
FALSEnever evaluated
0
614 buf_len = 0;-
615 } else {
never executed: end of block
0
616 buf += i;-
617 buf_len -= i;-
618 }
never executed: end of block
0
619 ret += i;-
620 } else {
never executed: end of block
0
621 i = snprintf(buf, buf_len, ".%lu", l);-
622 if (i == -1)
i == -1Description
TRUEnever evaluated
FALSEnever evaluated
0
623 goto err;
never executed: goto err;
0
624 if (i >= buf_len) {
i >= buf_lenDescription
TRUEnever evaluated
FALSEnever evaluated
0
625 buf_len = 0;-
626 } else {
never executed: end of block
0
627 buf += i;-
628 buf_len -= i;-
629 }
never executed: end of block
0
630 ret += i;-
631 l = 0;-
632 }
never executed: end of block
0
633 }-
634-
635 out:
code before this statement never executed: out:
0
636 BN_free(bl);-
637 return ret;
executed 12 times by 1 test: return ret;
Executed by:
  • libcrypto.so.44.0.1
12
638-
639 err:-
640 ret = 0;-
641 goto out;
never executed: goto out;
0
642}-
643-
644int-
645OBJ_txt2nid(const char *s)-
646{-
647 ASN1_OBJECT *obj;-
648 int nid;-
649-
650 obj = OBJ_txt2obj(s, 0);-
651 nid = OBJ_obj2nid(obj);-
652 ASN1_OBJECT_free(obj);-
653 return nid;
executed 28 times by 2 tests: return nid;
Executed by:
  • gost2814789t
  • libcrypto.so.44.0.1
28
654}-
655-
656int-
657OBJ_ln2nid(const char *s)-
658{-
659 ASN1_OBJECT o;-
660 const ASN1_OBJECT *oo = &o;-
661 ADDED_OBJ ad, *adp;-
662 const unsigned int *op;-
663-
664 o.ln = s;-
665 if (added != NULL) {
added != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 22 times by 4 tests
Evaluated by:
  • configtest
  • libcrypto.so.44.0.1
  • tlstest
  • verifytest
0-22
666 ad.type = ADDED_LNAME;-
667 ad.obj = &o;-
668 adp = lh_ADDED_OBJ_retrieve(added, &ad);-
669 if (adp != NULL)
adp != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
670 return (adp->obj->nid);
never executed: return (adp->obj->nid);
0
671 }
never executed: end of block
0
672 op = OBJ_bsearch_ln(&oo, ln_objs, NUM_LN);-
673 if (op == NULL)
op == ((void *)0)Description
TRUEevaluated 14 times by 3 tests
Evaluated by:
  • configtest
  • tlstest
  • verifytest
FALSEevaluated 8 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
8-14
674 return (NID_undef);
executed 14 times by 3 tests: return (0);
Executed by:
  • configtest
  • tlstest
  • verifytest
14
675 return (nid_objs[*op].nid);
executed 8 times by 1 test: return (nid_objs[*op].nid);
Executed by:
  • libcrypto.so.44.0.1
8
676}-
677-
678int-
679OBJ_sn2nid(const char *s)-
680{-
681 ASN1_OBJECT o;-
682 const ASN1_OBJECT *oo = &o;-
683 ADDED_OBJ ad, *adp;-
684 const unsigned int *op;-
685-
686 o.sn = s;-
687 if (added != NULL) {
added != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 49 times by 5 tests
Evaluated by:
  • configtest
  • gost2814789t
  • libcrypto.so.44.0.1
  • tlstest
  • verifytest
0-49
688 ad.type = ADDED_SNAME;-
689 ad.obj = &o;-
690 adp = lh_ADDED_OBJ_retrieve(added, &ad);-
691 if (adp != NULL)
adp != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
692 return (adp->obj->nid);
never executed: return (adp->obj->nid);
0
693 }
never executed: end of block
0
694 op = OBJ_bsearch_sn(&oo, sn_objs, NUM_SN);-
695 if (op == NULL)
op == ((void *)0)Description
TRUEevaluated 22 times by 4 tests
Evaluated by:
  • configtest
  • libcrypto.so.44.0.1
  • tlstest
  • verifytest
FALSEevaluated 27 times by 4 tests
Evaluated by:
  • configtest
  • gost2814789t
  • tlstest
  • verifytest
22-27
696 return (NID_undef);
executed 22 times by 4 tests: return (0);
Executed by:
  • configtest
  • libcrypto.so.44.0.1
  • tlstest
  • verifytest
22
697 return (nid_objs[*op].nid);
executed 27 times by 4 tests: return (nid_objs[*op].nid);
Executed by:
  • configtest
  • gost2814789t
  • tlstest
  • verifytest
27
698}-
699-
700const void *-
701OBJ_bsearch_(const void *key, const void *base, int num, int size,-
702 int (*cmp)(const void *, const void *))-
703{-
704 return OBJ_bsearch_ex_(key, base, num, size, cmp, 0);
executed 18981 times by 18 tests: return OBJ_bsearch_ex_(key, base, num, size, cmp, 0);
Executed by:
  • asn1test
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • dsatest
  • gost2814789t
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
18981
705}-
706-
707const void *-
708OBJ_bsearch_ex_(const void *key, const void *base_, int num, int size,-
709 int (*cmp)(const void *, const void *), int flags)-
710{-
711 const char *base = base_;-
712 int l, h, i = 0, c = 0;-
713 const char *p = NULL;-
714-
715 if (num == 0)
num == 0Description
TRUEevaluated 110 times by 4 tests
Evaluated by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 19125 times by 18 tests
Evaluated by:
  • asn1test
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • dsatest
  • gost2814789t
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
110-19125
716 return (NULL);
executed 110 times by 4 tests: return ( ((void *)0) );
Executed by:
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
110
717 l = 0;-
718 h = num;-
719 while (l < h) {
l < hDescription
TRUEevaluated 115263 times by 18 tests
Evaluated by:
  • asn1test
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • dsatest
  • gost2814789t
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 112 times by 6 tests
Evaluated by:
  • configtest
  • libcrypto.so.44.0.1
  • servertest
  • ssltest
  • tlstest
  • verifytest
112-115263
720 i = (l + h) / 2;-
721 p = &(base[i * size]);-
722 c = (*cmp)(key, p);-
723 if (c < 0)
c < 0Description
TRUEevaluated 56608 times by 14 tests
Evaluated by:
  • asn1test
  • cipher_list
  • cipherstest
  • configtest
  • gost2814789t
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 58655 times by 18 tests
Evaluated by:
  • asn1test
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • dsatest
  • gost2814789t
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
56608-58655
724 h = i;
executed 56608 times by 14 tests: h = i;
Executed by:
  • asn1test
  • cipher_list
  • cipherstest
  • configtest
  • gost2814789t
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
56608
725 else if (c > 0)
c > 0Description
TRUEevaluated 39642 times by 14 tests
Evaluated by:
  • asn1test
  • cipher_list
  • cipherstest
  • configtest
  • gost2814789t
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEevaluated 19013 times by 18 tests
Evaluated by:
  • asn1test
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • dsatest
  • gost2814789t
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
19013-39642
726 l = i + 1;
executed 39642 times by 14 tests: l = i + 1;
Executed by:
  • asn1test
  • cipher_list
  • cipherstest
  • configtest
  • gost2814789t
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
39642
727 else-
728 break;
executed 19013 times by 18 tests: break;
Executed by:
  • asn1test
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • dsatest
  • gost2814789t
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
19013
729 }-
730 if (c != 0 && !(flags & OBJ_BSEARCH_VALUE_ON_NOMATCH))
c != 0Description
TRUEevaluated 112 times by 6 tests
Evaluated by:
  • configtest
  • libcrypto.so.44.0.1
  • servertest
  • ssltest
  • tlstest
  • verifytest
FALSEevaluated 19013 times by 18 tests
Evaluated by:
  • asn1test
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • dsatest
  • gost2814789t
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
!(flags & 0x01)Description
TRUEevaluated 112 times by 6 tests
Evaluated by:
  • configtest
  • libcrypto.so.44.0.1
  • servertest
  • ssltest
  • tlstest
  • verifytest
FALSEnever evaluated
0-19013
731 p = NULL;
executed 112 times by 6 tests: p = ((void *)0) ;
Executed by:
  • configtest
  • libcrypto.so.44.0.1
  • servertest
  • ssltest
  • tlstest
  • verifytest
112
732 else if (c == 0 && (flags & OBJ_BSEARCH_FIRST_VALUE_ON_MATCH)) {
c == 0Description
TRUEevaluated 19013 times by 18 tests
Evaluated by:
  • asn1test
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • dsatest
  • gost2814789t
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
FALSEnever evaluated
(flags & 0x02)Description
TRUEevaluated 120 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 18893 times by 18 tests
Evaluated by:
  • asn1test
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • dsatest
  • gost2814789t
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
0-19013
733 while (i > 0 && (*cmp)(key, &(base[(i - 1) * size])) == 0)
i > 0Description
TRUEevaluated 58 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 62 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
(*cmp)(key, &(...* size])) == 0Description
TRUEnever evaluated
FALSEevaluated 58 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
0-62
734 i--;
never executed: i--;
0
735 p = &(base[i * size]);-
736 }
executed 120 times by 2 tests: end of block
Executed by:
  • ssltest
  • tlstest
120
737 return (p);
executed 19125 times by 18 tests: return (p);
Executed by:
  • asn1test
  • cipher_list
  • cipherstest
  • clienttest
  • configtest
  • dsatest
  • gost2814789t
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssl_versions
  • ssltest
  • tls_ext_alpn
  • tls_prf
  • tlsexttest
  • tlstest
  • verifytest
19125
738}-
739-
740int-
741OBJ_create_objects(BIO *in)-
742{-
743 char buf[512];-
744 int i, num = 0;-
745 char *o, *s, *l = NULL;-
746-
747 for (;;) {-
748 s = o = NULL;-
749 i = BIO_gets(in, buf, 512);-
750 if (i <= 0)
i <= 0Description
TRUEnever evaluated
FALSEnever evaluated
0
751 return (num);
never executed: return (num);
0
752 buf[i - 1] = '\0';-
753 if (!isalnum((unsigned char)buf[0]))
! ((*__ctype_b...int) _ISalnum)Description
TRUEnever evaluated
FALSEnever evaluated
0
754 return (num);
never executed: return (num);
0
755 o = s=buf;-
756 while (isdigit((unsigned char)*s) || (*s == '.'))
((*__ctype_b_l...int) _ISdigit)Description
TRUEnever evaluated
FALSEnever evaluated
(*s == '.')Description
TRUEnever evaluated
FALSEnever evaluated
0
757 s++;
never executed: s++;
0
758 if (*s != '\0') {
*s != '\0'Description
TRUEnever evaluated
FALSEnever evaluated
0
759 *(s++) = '\0';-
760 while (isspace((unsigned char)*s))
((*__ctype_b_l...int) _ISspace)Description
TRUEnever evaluated
FALSEnever evaluated
0
761 s++;
never executed: s++;
0
762 if (*s == '\0')
*s == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
0
763 s = NULL;
never executed: s = ((void *)0) ;
0
764 else {-
765 l = s;-
766 while ((*l != '\0') &&
(*l != '\0')Description
TRUEnever evaluated
FALSEnever evaluated
0
767 !isspace((unsigned char)*l))
! ((*__ctype_b...int) _ISspace)Description
TRUEnever evaluated
FALSEnever evaluated
0
768 l++;
never executed: l++;
0
769 if (*l != '\0') {
*l != '\0'Description
TRUEnever evaluated
FALSEnever evaluated
0
770 *(l++) = '\0';-
771 while (isspace((unsigned char)*l))
((*__ctype_b_l...int) _ISspace)Description
TRUEnever evaluated
FALSEnever evaluated
0
772 l++;
never executed: l++;
0
773 if (*l == '\0')
*l == '\0'Description
TRUEnever evaluated
FALSEnever evaluated
0
774 l = NULL;
never executed: l = ((void *)0) ;
0
775 } else
never executed: end of block
0
776 l = NULL;
never executed: l = ((void *)0) ;
0
777 }-
778 } else-
779 s = NULL;
never executed: s = ((void *)0) ;
0
780 if ((o == NULL) || (*o == '\0'))
(o == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
(*o == '\0')Description
TRUEnever evaluated
FALSEnever evaluated
0
781 return (num);
never executed: return (num);
0
782 if (!OBJ_create(o, s, l))
!OBJ_create(o, s, l)Description
TRUEnever evaluated
FALSEnever evaluated
0
783 return (num);
never executed: return (num);
0
784 num++;-
785 }
never executed: end of block
0
786 /* return(num); */-
787}
never executed: end of block
0
788-
789int-
790OBJ_create(const char *oid, const char *sn, const char *ln)-
791{-
792 int ok = 0;-
793 ASN1_OBJECT *op = NULL;-
794 unsigned char *buf;-
795 int i;-
796-
797 i = a2d_ASN1_OBJECT(NULL, 0, oid, -1);-
798 if (i <= 0)
i <= 0Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-3
799 return (0);
never executed: return (0);
0
800-
801 if ((buf = malloc(i)) == NULL) {
(buf = malloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-3
802 OBJerror(ERR_R_MALLOC_FAILURE);-
803 return (0);
never executed: return (0);
0
804 }-
805 i = a2d_ASN1_OBJECT(buf, i, oid, -1);-
806 if (i == 0)
i == 0Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-3
807 goto err;
never executed: goto err;
0
808 op = (ASN1_OBJECT *)ASN1_OBJECT_create(OBJ_new_nid(1), buf, i, sn, ln);-
809 if (op == NULL)
op == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-3
810 goto err;
never executed: goto err;
0
811 ok = OBJ_add_object(op);-
812-
813 err:
code before this statement executed 3 times by 1 test: err:
Executed by:
  • libcrypto.so.44.0.1
3
814 ASN1_OBJECT_free(op);-
815 free(buf);-
816 return (ok);
executed 3 times by 1 test: return (ok);
Executed by:
  • libcrypto.so.44.0.1
3
817}-
Source codeSwitch to Preprocessed file

Generated by Squish Coco 4.2.2