Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/ecdsa/ecs_lib.c |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | - | |||||||||||||
2 | - | |||||||||||||
3 | - | |||||||||||||
4 | - | |||||||||||||
5 | - | |||||||||||||
6 | - | |||||||||||||
7 | - | |||||||||||||
8 | static const ECDSA_METHOD *default_ECDSA_method = | - | ||||||||||||
9 | ((void *)0) | - | ||||||||||||
10 | ; | - | ||||||||||||
11 | - | |||||||||||||
12 | static void *ecdsa_data_new(void); | - | ||||||||||||
13 | static void *ecdsa_data_dup(void *); | - | ||||||||||||
14 | static void ecdsa_data_free(void *); | - | ||||||||||||
15 | - | |||||||||||||
16 | void | - | ||||||||||||
17 | ECDSA_set_default_method(const ECDSA_METHOD *meth) | - | ||||||||||||
18 | { | - | ||||||||||||
19 | default_ECDSA_method = meth; | - | ||||||||||||
20 | } never executed: end of block | 0 | ||||||||||||
21 | - | |||||||||||||
22 | const ECDSA_METHOD * | - | ||||||||||||
23 | ECDSA_get_default_method(void) | - | ||||||||||||
24 | { | - | ||||||||||||
25 | if (!default_ECDSA_method
| 1-151 | ||||||||||||
26 | default_ECDSA_method = ECDSA_OpenSSL(); | - | ||||||||||||
27 | } executed 1 time by 1 test: end of block Executed by:
| 1 | ||||||||||||
28 | return executed 152 times by 1 test: default_ECDSA_method;return default_ECDSA_method; Executed by:
executed 152 times by 1 test: return default_ECDSA_method; Executed by:
| 152 | ||||||||||||
29 | } | - | ||||||||||||
30 | - | |||||||||||||
31 | int | - | ||||||||||||
32 | ECDSA_set_method(EC_KEY *eckey, const ECDSA_METHOD *meth) | - | ||||||||||||
33 | { | - | ||||||||||||
34 | ECDSA_DATA *ecdsa; | - | ||||||||||||
35 | - | |||||||||||||
36 | ecdsa = ecdsa_check(eckey); | - | ||||||||||||
37 | - | |||||||||||||
38 | if (ecdsa ==
| 0 | ||||||||||||
39 | ((void *)0)
| 0 | ||||||||||||
40 | ) | - | ||||||||||||
41 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||
42 | - | |||||||||||||
43 | - | |||||||||||||
44 | ENGINE_finish(ecdsa->engine); | - | ||||||||||||
45 | ecdsa->engine = | - | ||||||||||||
46 | ((void *)0) | - | ||||||||||||
47 | ; | - | ||||||||||||
48 | - | |||||||||||||
49 | ecdsa->meth = meth; | - | ||||||||||||
50 | - | |||||||||||||
51 | return never executed: 1;return 1; never executed: return 1; | 0 | ||||||||||||
52 | } | - | ||||||||||||
53 | - | |||||||||||||
54 | static ECDSA_DATA * | - | ||||||||||||
55 | ECDSA_DATA_new_method(ENGINE *engine) | - | ||||||||||||
56 | { | - | ||||||||||||
57 | ECDSA_DATA *ret; | - | ||||||||||||
58 | - | |||||||||||||
59 | ret = malloc(sizeof(ECDSA_DATA)); | - | ||||||||||||
60 | if (ret ==
| 0-152 | ||||||||||||
61 | ((void *)0)
| 0-152 | ||||||||||||
62 | ) { | - | ||||||||||||
63 | ERR_put_error(42,(0xfff),((1|64)),__FILE__,114); | - | ||||||||||||
64 | return never executed: (return ( ((void *)0) ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||
65 | ((void *)0) never executed: return ( ((void *)0) ); | 0 | ||||||||||||
66 | ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||
67 | } | - | ||||||||||||
68 | - | |||||||||||||
69 | ret->init = | - | ||||||||||||
70 | ((void *)0) | - | ||||||||||||
71 | ; | - | ||||||||||||
72 | - | |||||||||||||
73 | ret->meth = ECDSA_get_default_method(); | - | ||||||||||||
74 | ret->engine = engine; | - | ||||||||||||
75 | - | |||||||||||||
76 | if (!ret->engine
| 0-152 | ||||||||||||
77 | ret->engine = ENGINE_get_default_ECDSA(); executed 152 times by 1 test: ret->engine = ENGINE_get_default_ECDSA(); Executed by:
| 152 | ||||||||||||
78 | if (ret->engine
| 0-152 | ||||||||||||
79 | ret->meth = ENGINE_get_ECDSA(ret->engine); | - | ||||||||||||
80 | if (ret->meth ==
| 0 | ||||||||||||
81 | ((void *)0)
| 0 | ||||||||||||
82 | ) { | - | ||||||||||||
83 | ERR_put_error(42,(0xfff),(38),__FILE__,128); | - | ||||||||||||
84 | ENGINE_finish(ret->engine); | - | ||||||||||||
85 | free(ret); | - | ||||||||||||
86 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||
87 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||
88 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||
89 | } | - | ||||||||||||
90 | } never executed: end of block | 0 | ||||||||||||
91 | - | |||||||||||||
92 | - | |||||||||||||
93 | ret->flags = ret->meth->flags; | - | ||||||||||||
94 | CRYPTO_new_ex_data(12, ret, &ret->ex_data); | - | ||||||||||||
95 | return executed 152 times by 1 test: (ret);return (ret); Executed by:
executed 152 times by 1 test: return (ret); Executed by:
| 152 | ||||||||||||
96 | } | - | ||||||||||||
97 | - | |||||||||||||
98 | static void * | - | ||||||||||||
99 | ecdsa_data_new(void) | - | ||||||||||||
100 | { | - | ||||||||||||
101 | return executed 152 times by 1 test: (void *)ECDSA_DATA_new_method(return (void *)ECDSA_DATA_new_method( ((void *)0) ); Executed by:
executed 152 times by 1 test: return (void *)ECDSA_DATA_new_method( ((void *)0) ); Executed by:
| 152 | ||||||||||||
102 | ((void *)0) executed 152 times by 1 test: return (void *)ECDSA_DATA_new_method( ((void *)0) ); Executed by:
| 152 | ||||||||||||
103 | ); executed 152 times by 1 test: return (void *)ECDSA_DATA_new_method( ((void *)0) ); Executed by:
| 152 | ||||||||||||
104 | } | - | ||||||||||||
105 | - | |||||||||||||
106 | static void * | - | ||||||||||||
107 | ecdsa_data_dup(void *data) | - | ||||||||||||
108 | { | - | ||||||||||||
109 | ECDSA_DATA *r = (ECDSA_DATA *)data; | - | ||||||||||||
110 | - | |||||||||||||
111 | - | |||||||||||||
112 | if (r ==
| 0 | ||||||||||||
113 | ((void *)0)
| 0 | ||||||||||||
114 | ) | - | ||||||||||||
115 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||
116 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||
117 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||
118 | - | |||||||||||||
119 | return never executed: ecdsa_data_new();return ecdsa_data_new(); never executed: return ecdsa_data_new(); | 0 | ||||||||||||
120 | } | - | ||||||||||||
121 | - | |||||||||||||
122 | static void | - | ||||||||||||
123 | ecdsa_data_free(void *data) | - | ||||||||||||
124 | { | - | ||||||||||||
125 | ECDSA_DATA *r = (ECDSA_DATA *)data; | - | ||||||||||||
126 | - | |||||||||||||
127 | - | |||||||||||||
128 | ENGINE_finish(r->engine); | - | ||||||||||||
129 | - | |||||||||||||
130 | CRYPTO_free_ex_data(12, r, &r->ex_data); | - | ||||||||||||
131 | - | |||||||||||||
132 | freezero(r, sizeof(ECDSA_DATA)); | - | ||||||||||||
133 | } executed 152 times by 1 test: end of block Executed by:
| 152 | ||||||||||||
134 | - | |||||||||||||
135 | ECDSA_DATA * | - | ||||||||||||
136 | ecdsa_check(EC_KEY *key) | - | ||||||||||||
137 | { | - | ||||||||||||
138 | ECDSA_DATA *ecdsa_data; | - | ||||||||||||
139 | - | |||||||||||||
140 | void *data = EC_KEY_get_key_method_data(key, ecdsa_data_dup, | - | ||||||||||||
141 | ecdsa_data_free, ecdsa_data_free); | - | ||||||||||||
142 | if (data ==
| 152-456 | ||||||||||||
143 | ((void *)0)
| 152-456 | ||||||||||||
144 | ) { | - | ||||||||||||
145 | ecdsa_data = (ECDSA_DATA *)ecdsa_data_new(); | - | ||||||||||||
146 | if (ecdsa_data ==
| 0-152 | ||||||||||||
147 | ((void *)0)
| 0-152 | ||||||||||||
148 | ) | - | ||||||||||||
149 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||
150 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||
151 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||
152 | data = EC_KEY_insert_key_method_data(key, (void *)ecdsa_data, | - | ||||||||||||
153 | ecdsa_data_dup, ecdsa_data_free, ecdsa_data_free); | - | ||||||||||||
154 | if (data !=
| 0-152 | ||||||||||||
155 | ((void *)0)
| 0-152 | ||||||||||||
156 | ) { | - | ||||||||||||
157 | - | |||||||||||||
158 | - | |||||||||||||
159 | ecdsa_data_free(ecdsa_data); | - | ||||||||||||
160 | ecdsa_data = (ECDSA_DATA *)data; | - | ||||||||||||
161 | } never executed: end of block | 0 | ||||||||||||
162 | } executed 152 times by 1 test: elseend of block Executed by:
| 152 | ||||||||||||
163 | ecdsa_data = (ECDSA_DATA *)data; executed 456 times by 1 test: ecdsa_data = (ECDSA_DATA *)data; Executed by:
| 456 | ||||||||||||
164 | - | |||||||||||||
165 | return executed 608 times by 1 test: ecdsa_data;return ecdsa_data; Executed by:
executed 608 times by 1 test: return ecdsa_data; Executed by:
| 608 | ||||||||||||
166 | } | - | ||||||||||||
167 | - | |||||||||||||
168 | int | - | ||||||||||||
169 | ECDSA_size(const EC_KEY *r) | - | ||||||||||||
170 | { | - | ||||||||||||
171 | int ret, i; | - | ||||||||||||
172 | ASN1_INTEGER bs; | - | ||||||||||||
173 | BIGNUM *order = | - | ||||||||||||
174 | ((void *)0) | - | ||||||||||||
175 | ; | - | ||||||||||||
176 | unsigned char buf[4]; | - | ||||||||||||
177 | const EC_GROUP *group; | - | ||||||||||||
178 | - | |||||||||||||
179 | if (r ==
| 0-76 | ||||||||||||
180 | ((void *)0)
| 0-76 | ||||||||||||
181 | ) | - | ||||||||||||
182 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||
183 | group = EC_KEY_get0_group(r); | - | ||||||||||||
184 | if (group ==
| 0-76 | ||||||||||||
185 | ((void *)0)
| 0-76 | ||||||||||||
186 | ) | - | ||||||||||||
187 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||
188 | - | |||||||||||||
189 | if ((
| 0-76 | ||||||||||||
190 | ((void *)0)
| 0-76 | ||||||||||||
191 | ) | - | ||||||||||||
192 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||
193 | if (!EC_GROUP_get_order(group, order,
| 0-76 | ||||||||||||
194 | ((void *)0)
| 0-76 | ||||||||||||
195 | )
| 0-76 | ||||||||||||
196 | BN_clear_free(order); | - | ||||||||||||
197 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||
198 | } | - | ||||||||||||
199 | i = BN_num_bits(order); | - | ||||||||||||
200 | bs.length = (i + 7) / 8; | - | ||||||||||||
201 | bs.data = buf; | - | ||||||||||||
202 | bs.type = 2; | - | ||||||||||||
203 | - | |||||||||||||
204 | buf[0] = 0xff; | - | ||||||||||||
205 | - | |||||||||||||
206 | i = i2d_ASN1_INTEGER(&bs, | - | ||||||||||||
207 | ((void *)0) | - | ||||||||||||
208 | ); | - | ||||||||||||
209 | i += i; | - | ||||||||||||
210 | ret = ASN1_object_size(1, i, 16); | - | ||||||||||||
211 | BN_clear_free(order); | - | ||||||||||||
212 | return executed 76 times by 1 test: (ret);return (ret); Executed by:
executed 76 times by 1 test: return (ret); Executed by:
| 76 | ||||||||||||
213 | } | - | ||||||||||||
214 | - | |||||||||||||
215 | int | - | ||||||||||||
216 | ECDSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, | - | ||||||||||||
217 | CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func) | - | ||||||||||||
218 | { | - | ||||||||||||
219 | return never executed: CRYPTO_get_ex_new_index(12, argl, argp,return CRYPTO_get_ex_new_index(12, argl, argp, new_func, dup_func, free_func); never executed: return CRYPTO_get_ex_new_index(12, argl, argp, new_func, dup_func, free_func); | 0 | ||||||||||||
220 | new_func, dup_func, free_func); never executed: return CRYPTO_get_ex_new_index(12, argl, argp, new_func, dup_func, free_func); | 0 | ||||||||||||
221 | } | - | ||||||||||||
222 | - | |||||||||||||
223 | int | - | ||||||||||||
224 | ECDSA_set_ex_data(EC_KEY *d, int idx, void *arg) | - | ||||||||||||
225 | { | - | ||||||||||||
226 | ECDSA_DATA *ecdsa; | - | ||||||||||||
227 | ecdsa = ecdsa_check(d); | - | ||||||||||||
228 | if (ecdsa ==
| 0 | ||||||||||||
229 | ((void *)0)
| 0 | ||||||||||||
230 | ) | - | ||||||||||||
231 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||||||||
232 | return never executed: (CRYPTO_set_ex_data(&ecdsa->ex_data, idx, arg));return (CRYPTO_set_ex_data(&ecdsa->ex_data, idx, arg)); never executed: return (CRYPTO_set_ex_data(&ecdsa->ex_data, idx, arg)); | 0 | ||||||||||||
233 | } | - | ||||||||||||
234 | - | |||||||||||||
235 | void * | - | ||||||||||||
236 | ECDSA_get_ex_data(EC_KEY *d, int idx) | - | ||||||||||||
237 | { | - | ||||||||||||
238 | ECDSA_DATA *ecdsa; | - | ||||||||||||
239 | ecdsa = ecdsa_check(d); | - | ||||||||||||
240 | if (ecdsa ==
| 0 | ||||||||||||
241 | ((void *)0)
| 0 | ||||||||||||
242 | ) | - | ||||||||||||
243 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||
244 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||
245 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||
246 | return never executed: (CRYPTO_get_ex_data(&ecdsa->ex_data, idx));return (CRYPTO_get_ex_data(&ecdsa->ex_data, idx)); never executed: return (CRYPTO_get_ex_data(&ecdsa->ex_data, idx)); | 0 | ||||||||||||
247 | } | - | ||||||||||||
Switch to Source code | Preprocessed file |