Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/objects/obj_dat.c |
Source code | Switch to Preprocessed file |
Line | Source | Count | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
75 | static int sn_cmp_BSEARCH_CMP_FN(const void *, const void *); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
76 | static int sn_cmp(const ASN1_OBJECT * const *, unsigned int const *); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
77 | static unsigned int *OBJ_bsearch_sn(const ASN1_OBJECT * *key, unsigned int const *base, int num); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
78 | static int ln_cmp_BSEARCH_CMP_FN(const void *, const void *); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
79 | static int ln_cmp(const ASN1_OBJECT * const *, unsigned int const *); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
80 | static unsigned int *OBJ_bsearch_ln(const ASN1_OBJECT * *key, unsigned int const *base, int num); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
81 | static int obj_cmp_BSEARCH_CMP_FN(const void *, const void *); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
82 | static int obj_cmp(const ASN1_OBJECT * const *, unsigned int const *); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
83 | static 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 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
90 | typedef struct added_obj_st { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
91 | int type; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
92 | ASN1_OBJECT *obj; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
93 | } ADDED_OBJ; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
94 | DECLARE_LHASH_OF(ADDED_OBJ); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
95 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
96 | static int new_nid = NUM_NID; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
97 | static LHASH_OF(ADDED_OBJ) *added = NULL; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
98 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
99 | static 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:
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
| 0-475 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
102 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
103 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
104 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
105 | static int | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
106 | sn_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:
| 475 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
111 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
112 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
113 | static unsigned int * | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
114 | OBJ_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:
| 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:
| 49 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
118 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
119 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
120 | static 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:
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
| 0-206 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
123 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
124 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
125 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
126 | static int | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
127 | ln_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:
| 206 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
132 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
133 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
134 | static unsigned int * | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
135 | OBJ_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:
| 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:
| 22 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
139 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
140 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
141 | static unsigned long | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
142 | added_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:
| 55 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
152 | ret = a->length << 20L; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
153 | p = (unsigned char *)a->data; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
154 | for (i = 0; i < a->length; i++)
| 55-308 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
155 | ret ^= p[i] << ((i * 3) % 24); executed 308 times by 1 test: ret ^= p[i] << ((i * 3) % 24); Executed by:
| 308 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
156 | break; executed 55 times by 1 test: break; Executed by:
| 55 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
157 | case ADDED_SNAME: executed 3 times by 1 test: case 1: Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
158 | ret = lh_strhash(a->sn); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
159 | break; executed 3 times by 1 test: break; Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
160 | case ADDED_LNAME: executed 3 times by 1 test: case 2: Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
161 | ret = lh_strhash(a->ln); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
162 | break; executed 3 times by 1 test: break; Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
163 | case ADDED_NID: executed 3 times by 1 test: case 3: Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
164 | ret = a->nid; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
165 | break; executed 3 times by 1 test: break; Executed by:
| 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:
| 64 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
173 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
174 | static executed 64 times by 1 test: IMPLEMENT_LHASH_HASH_FN(added_obj, ADDED_OBJ)return added_obj_hash(a); Executed by:
executed 64 times by 1 test: return added_obj_hash(a); Executed by:
| 64 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
175 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
176 | static int | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
177 | added_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)
| 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)
| 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)
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
195 | return (-1); never executed: return (-1); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
196 | else if (b->sn == NULL)
| 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
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
200 | case ADDED_LNAME: never executed: case 2: | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
201 | if (a->ln == NULL)
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
202 | return (-1); never executed: return (-1); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
203 | else if (b->ln == NULL)
| 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
| 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 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
214 | static never executed: IMPLEMENT_LHASH_COMP_FN(added_obj, ADDED_OBJ)return added_obj_cmp(a,b); never executed: return added_obj_cmp(a,b); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
215 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
216 | static int | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
217 | init_added(void) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
218 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
219 | if (added != NULL)
| 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:
| 3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
223 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
224 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
225 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
226 | cleanup1_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:
| 12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
233 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
234 | static void cleanup2_doall(ADDED_OBJ *a) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
235 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
236 | a->obj->nid++; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
237 | } executed 12 times by 1 test: end of block Executed by:
| 12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
238 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
239 | static void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
240 | cleanup3_doall(ADDED_OBJ *a) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
241 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
242 | if (--a->obj->nid == 0)
| 3-9 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
243 | ASN1_OBJECT_free(a->obj); executed 3 times by 1 test: ASN1_OBJECT_free(a->obj); Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
244 | free(a); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
245 | } executed 12 times by 1 test: end of block Executed by:
| 12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
246 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
247 | static executed 12 times by 1 test: IMPLEMENT_LHASH_DOALL_FN(cleanup1, ADDED_OBJ)end of block Executed by:
executed 12 times by 1 test: end of block Executed by:
| 12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
248 | static executed 12 times by 1 test: IMPLEMENT_LHASH_DOALL_FN(cleanup2, ADDED_OBJ)end of block Executed by:
executed 12 times by 1 test: end of block Executed by:
| 12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
249 | static executed 12 times by 1 test: IMPLEMENT_LHASH_DOALL_FN(cleanup3, ADDED_OBJ)end of block Executed by:
executed 12 times by 1 test: end of block Executed by:
| 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 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
256 | int obj_cleanup_defer = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
257 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
258 | void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
259 | check_defer(int nid) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
260 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
261 | if (!obj_cleanup_defer && nid >= NUM_NID)
| 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:
| 43693 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
264 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
265 | void | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
266 | OBJ_cleanup(void) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
267 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
268 | if (obj_cleanup_defer) {
| 0-216 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
269 | obj_cleanup_defer = 2; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
270 | return; never executed: return; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
271 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
272 | if (added == NULL)
| 3-213 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
273 | return; executed 213 times by 1 test: return; Executed by:
| 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:
| 3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
281 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
282 | int | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
283 | OBJ_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:
| 3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
290 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
291 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
292 | int | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
293 | OBJ_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)
| 0-3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
300 | if (!init_added())
| 0-3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
301 | return (0); never executed: return (0); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
302 | if ((o = OBJ_dup(obj)) == NULL)
| 0-3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
303 | goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
304 | if (!(ao[ADDED_NID] = malloc(sizeof(ADDED_OBJ))))
| 0-3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
305 | goto err2; never executed: goto err2; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
306 | if ((o->length != 0) && (obj->data != NULL))
| 0-3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
307 | if (!(ao[ADDED_DATA] = malloc(sizeof(ADDED_OBJ))))
| 0-3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
308 | goto err2; never executed: goto err2; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
309 | if (o->sn != NULL)
| 0-3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
310 | if (!(ao[ADDED_SNAME] = malloc(sizeof(ADDED_OBJ))))
| 0-3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
311 | goto err2; never executed: goto err2; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
312 | if (o->ln != NULL)
| 0-3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
313 | if (!(ao[ADDED_LNAME] = malloc(sizeof(ADDED_OBJ))))
| 0-3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
314 | goto err2; never executed: goto err2; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
315 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
316 | for (i = ADDED_DATA; i <= ADDED_NID; i++) {
| 3-12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
317 | if (ao[i] != NULL) {
| 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:
| 12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
324 | } executed 12 times by 1 test: end of block Executed by:
| 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:
| 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++)
| 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 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
340 | ASN1_OBJECT * | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
341 | OBJ_nid2obj(int n) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
342 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
343 | ADDED_OBJ ad, *adp; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
344 | ASN1_OBJECT ob; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
345 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
346 | if ((n >= 0) && (n < NUM_NID)) {
| 0-5605 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
347 | if ((n != NID_undef) && (nid_objs[n].nid == NID_undef)) {
| 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:
| 5605 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
352 | } else if (added == NULL)
| 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)
| 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 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
368 | const char * | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
369 | OBJ_nid2sn(int n) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
370 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
371 | ADDED_OBJ ad, *adp; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
372 | ASN1_OBJECT ob; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
373 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
374 | if ((n >= 0) && (n < NUM_NID)) {
| 0-45155 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
375 | if ((n != NID_undef) && (nid_objs[n].nid == NID_undef)) {
| 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:
| 45155 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
380 | } else if (added == NULL)
| 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)
| 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 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
396 | const char * | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
397 | OBJ_nid2ln(int n) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
398 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
399 | ADDED_OBJ ad, *adp; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
400 | ASN1_OBJECT ob; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
401 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
402 | if ((n >= 0) && (n < NUM_NID)) {
| 0-43705 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
403 | if ((n != NID_undef) && (nid_objs[n].nid == NID_undef)) {
| 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:
| 43705 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
408 | } else if (added == NULL)
| 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)
| 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 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
424 | static int | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
425 | obj_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)
| 21263-65629 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
433 | return (j); executed 21263 times by 7 tests: return (j); Executed by:
| 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:
| 65629 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
435 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
436 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
437 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
438 | static int | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
439 | obj_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:
| 86892 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
444 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
445 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
446 | static unsigned int * | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
447 | OBJ_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:
| 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:
| 9774 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
451 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
452 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
453 | int | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
454 | OBJ_obj2nid(const ASN1_OBJECT *a) | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
455 | { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
456 | const unsigned int *op; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
457 | ADDED_OBJ ad, *adp; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
458 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
459 | if (a == NULL)
| 0-9946 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
460 | return (NID_undef); never executed: return (0); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
461 | if (a->nid != 0)
| 172-9774 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
462 | return (a->nid); executed 172 times by 4 tests: return (a->nid); Executed by:
| 172 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
463 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
464 | if (added != NULL) {
| 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)
| 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:
| 52 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
471 | op = OBJ_bsearch_obj(&a, obj_objs, NUM_OBJ); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
472 | if (op == NULL)
| 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:
| 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 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
483 | ASN1_OBJECT * | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
484 | OBJ_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) {
| 0-28 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
494 | if (((nid = OBJ_sn2nid(s)) != NID_undef) ||
| 8-20 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
495 | ((nid = OBJ_ln2nid(s)) != NID_undef) )
| 0-8 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
496 | return OBJ_nid2obj(nid); executed 28 times by 2 tests: return OBJ_nid2obj(nid); Executed by:
| 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) {
| 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)
| 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 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
524 | int | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
525 | OBJ_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)
| 0-12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
534 | buf[0] = '\0'; executed 12 times by 1 test: buf[0] = '\0'; Executed by:
| 12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
535 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
536 | if ((a == NULL) || (a->data == NULL))
| 0-12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
537 | goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
538 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
539 | if (!no_name && (nid = OBJ_obj2nid(a)) != NID_undef) {
| 0-12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
540 | const char *s; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
541 | s = OBJ_nid2ln(nid); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
542 | if (s == NULL)
| 0-12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
543 | s = OBJ_nid2sn(nid); never executed: s = OBJ_nid2sn(nid); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
544 | if (s) {
| 0-12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
545 | ret = strlcpy(buf, s, buf_len); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
546 | goto out; executed 12 times by 1 test: goto out; Executed by:
| 12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
547 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
548 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
549 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
550 | len = a->length; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
551 | p = a->data; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
552 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
553 | while (len > 0) {
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
554 | l = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
555 | use_bn = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
556 | for (;;) { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
557 | unsigned char c = *p++; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
558 | len--; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
559 | if ((len == 0) && (c & 0x80))
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
560 | goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
561 | if (use_bn) {
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
562 | if (!BN_add_word(bl, c & 0x7f))
| 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))
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
567 | break; never executed: break; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
568 | if (!use_bn && (l > (ULONG_MAX >> 7L))) {
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
569 | if (!bl && !(bl = BN_new()))
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
570 | goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
571 | if (!BN_set_word(bl, l))
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
572 | goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
573 | use_bn = 1; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
574 | } never executed: end of block | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
575 | if (use_bn) {
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
576 | if (!BN_lshift(bl, bl, 7))
| 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) {
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
583 | first = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
584 | if (l >= 80) {
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
585 | i = 2; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
586 | if (use_bn) {
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
587 | if (!BN_sub_word(bl, 80))
| 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) {
| 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) {
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
604 | char *bndec; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
605 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
606 | bndec = BN_bn2dec(bl); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
607 | if (!bndec)
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
608 | goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
609 | i = snprintf(buf, buf_len, ".%s", bndec); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
610 | free(bndec); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
611 | if (i == -1)
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
612 | goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
613 | if (i >= buf_len) {
| 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)
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
623 | goto err; never executed: goto err; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
624 | if (i >= buf_len) {
| 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:
| 12 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
638 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
639 | err: | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
640 | ret = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
641 | goto out; never executed: goto out; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
642 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
643 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
644 | int | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
645 | OBJ_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:
| 28 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
654 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
655 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
656 | int | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
657 | OBJ_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) {
| 0-22 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
666 | ad.type = ADDED_LNAME; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
667 | ad.obj = &o; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
668 | adp = lh_ADDED_OBJ_retrieve(added, &ad); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
669 | if (adp != NULL)
| 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)
| 8-14 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
674 | return (NID_undef); executed 14 times by 3 tests: return (0); Executed by:
| 14 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
675 | return (nid_objs[*op].nid); executed 8 times by 1 test: return (nid_objs[*op].nid); Executed by:
| 8 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
676 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
677 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
678 | int | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
679 | OBJ_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) {
| 0-49 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
688 | ad.type = ADDED_SNAME; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
689 | ad.obj = &o; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
690 | adp = lh_ADDED_OBJ_retrieve(added, &ad); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
691 | if (adp != NULL)
| 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)
| 22-27 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
696 | return (NID_undef); executed 22 times by 4 tests: return (0); Executed by:
| 22 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
697 | return (nid_objs[*op].nid); executed 27 times by 4 tests: return (nid_objs[*op].nid); Executed by:
| 27 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
698 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
699 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
700 | const void * | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
701 | OBJ_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:
| 18981 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
705 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
706 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
707 | const void * | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
708 | OBJ_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)
| 110-19125 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
716 | return (NULL); executed 110 times by 4 tests: return ( ((void *)0) ); Executed by:
| 110 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
717 | l = 0; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
718 | h = num; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
719 | while (l < h) {
| 112-115263 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
720 | i = (l + h) / 2; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
721 | p = &(base[i * size]); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
722 | c = (*cmp)(key, p); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
723 | if (c < 0)
| 56608-58655 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
724 | h = i; executed 56608 times by 14 tests: h = i; Executed by:
| 56608 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
725 | else if (c > 0)
| 19013-39642 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
726 | l = i + 1; executed 39642 times by 14 tests: l = i + 1; Executed by:
| 39642 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
727 | else | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
728 | break; executed 19013 times by 18 tests: break; Executed by:
| 19013 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
729 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
730 | if (c != 0 && !(flags & OBJ_BSEARCH_VALUE_ON_NOMATCH))
| 0-19013 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
731 | p = NULL; executed 112 times by 6 tests: p = ((void *)0) ; Executed by:
| 112 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
732 | else if (c == 0 && (flags & OBJ_BSEARCH_FIRST_VALUE_ON_MATCH)) {
| 0-19013 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
733 | while (i > 0 && (*cmp)(key, &(base[(i - 1) * size])) == 0)
| 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:
| 120 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
737 | return (p); executed 19125 times by 18 tests: return (p); Executed by:
| 19125 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
738 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
739 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
740 | int | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
741 | OBJ_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)
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
751 | return (num); never executed: return (num); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
752 | buf[i - 1] = '\0'; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
753 | if (!isalnum((unsigned char)buf[0]))
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
754 | return (num); never executed: return (num); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
755 | o = s=buf; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
756 | while (isdigit((unsigned char)*s) || (*s == '.'))
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
757 | s++; never executed: s++; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
758 | if (*s != '\0') {
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
759 | *(s++) = '\0'; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
760 | while (isspace((unsigned char)*s))
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
761 | s++; never executed: s++; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
762 | if (*s == '\0')
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
763 | s = NULL; never executed: s = ((void *)0) ; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
764 | else { | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
765 | l = s; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
766 | while ((*l != '\0') &&
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
767 | !isspace((unsigned char)*l))
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
768 | l++; never executed: l++; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
769 | if (*l != '\0') {
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
770 | *(l++) = '\0'; | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
771 | while (isspace((unsigned char)*l))
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
772 | l++; never executed: l++; | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
773 | if (*l == '\0')
| 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'))
| 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
781 | return (num); never executed: return (num); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
782 | if (!OBJ_create(o, s, l))
| 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 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
789 | int | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
790 | OBJ_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)
| 0-3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
799 | return (0); never executed: return (0); | 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
800 | - | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
801 | if ((buf = malloc(i)) == NULL) {
| 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)
| 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)
| 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:
| 3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
814 | ASN1_OBJECT_free(op); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
815 | free(buf); | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
816 | return (ok); executed 3 times by 1 test: return (ok); Executed by:
| 3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
817 | } | - | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Source code | Switch to Preprocessed file |