Line | Source | Count |
1 | | - |
2 | | - |
3 | | - |
4 | typedef struct { | - |
5 | | - |
6 | EC_GROUP *gen_group; | - |
7 | | - |
8 | const EVP_MD *md; | - |
9 | | - |
10 | uint8_t *id; | - |
11 | size_t id_len; | - |
12 | | - |
13 | int id_set; | - |
14 | } SM2_PKEY_CTX; | - |
15 | | - |
16 | static int pkey_sm2_init(EVP_PKEY_CTX *ctx) | - |
17 | { | - |
18 | SM2_PKEY_CTX *smctx; | - |
19 | | - |
20 | if ((TRUE | never evaluated | FALSE | evaluated 11 times by 1 test |
smctx = CRYPTO_zalloc(sizeof(*smctx), __FILE__, 36)) == TRUE | never evaluated | FALSE | evaluated 11 times by 1 test |
| 0-11 |
21 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 11 times by 1 test |
| 0-11 |
22 | ) { | - |
23 | ERR_put_error(53,(111),((1|64)),__FILE__,37); | - |
24 | return never executed: return 0; 0;never executed: return 0; | 0 |
25 | } | - |
26 | | - |
27 | ctx->data = smctx; | - |
28 | returnexecuted 11 times by 1 test: return 1; 1;executed 11 times by 1 test: return 1; | 11 |
29 | } | - |
30 | | - |
31 | static void pkey_sm2_cleanup(EVP_PKEY_CTX *ctx) | - |
32 | { | - |
33 | SM2_PKEY_CTX *smctx = ctx->data; | - |
34 | | - |
35 | if (smctx != TRUE | evaluated 11 times by 1 test | FALSE | never evaluated |
| 0-11 |
36 | ((void *)0)TRUE | evaluated 11 times by 1 test | FALSE | never evaluated |
| 0-11 |
37 | ) { | - |
38 | EC_GROUP_free(smctx->gen_group); | - |
39 | CRYPTO_free(smctx->id, __FILE__, 51); | - |
40 | CRYPTO_free(smctx, __FILE__, 52); | - |
41 | ctx->data = | - |
42 | ((void *)0) | - |
43 | ; | - |
44 | }executed 11 times by 1 test: end of block | 11 |
45 | }executed 11 times by 1 test: end of block | 11 |
46 | | - |
47 | static int pkey_sm2_copy(EVP_PKEY_CTX *dst, EVP_PKEY_CTX *src) | - |
48 | { | - |
49 | SM2_PKEY_CTX *dctx, *sctx; | - |
50 | | - |
51 | if (!pkey_sm2_init(dst)TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
) | 0-3 |
52 | return never executed: return 0; 0;never executed: return 0; | 0 |
53 | sctx = src->data; | - |
54 | dctx = dst->data; | - |
55 | if (sctx->gen_group != TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
| 0-3 |
56 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
| 0-3 |
57 | ) { | - |
58 | dctx->gen_group = EC_GROUP_dup(sctx->gen_group); | - |
59 | if (dctx->gen_group == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
60 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
61 | ) { | - |
62 | pkey_sm2_cleanup(dst); | - |
63 | return never executed: return 0; 0;never executed: return 0; | 0 |
64 | } | - |
65 | } never executed: end of block | 0 |
66 | if (sctx->id != TRUE | evaluated 3 times by 1 test | FALSE | never evaluated |
| 0-3 |
67 | ((void *)0)TRUE | evaluated 3 times by 1 test | FALSE | never evaluated |
| 0-3 |
68 | ) { | - |
69 | dctx->id = CRYPTO_malloc(sctx->id_len, __FILE__, 73); | - |
70 | if (dctx->id == TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
| 0-3 |
71 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
| 0-3 |
72 | ) { | - |
73 | ERR_put_error(53,(115),((1|64)),__FILE__,75); | - |
74 | pkey_sm2_cleanup(dst); | - |
75 | return never executed: return 0; 0;never executed: return 0; | 0 |
76 | } | - |
77 | memcpy(dctx->id, sctx->id, sctx->id_len); | - |
78 | }executed 3 times by 1 test: end of block | 3 |
79 | dctx->id_len = sctx->id_len; | - |
80 | dctx->id_set = sctx->id_set; | - |
81 | dctx->md = sctx->md; | - |
82 | | - |
83 | returnexecuted 3 times by 1 test: return 1; 1;executed 3 times by 1 test: return 1; | 3 |
84 | } | - |
85 | | - |
86 | static int pkey_sm2_sign(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen, | - |
87 | const unsigned char *tbs, size_t tbslen) | - |
88 | { | - |
89 | int ret; | - |
90 | unsigned int sltmp; | - |
91 | EC_KEY *ec = ctx->pkey->pkey.ec; | - |
92 | const int sig_sz = ECDSA_size(ctx->pkey->pkey.ec); | - |
93 | | - |
94 | if (sig_sz <= 0TRUE | never evaluated | FALSE | evaluated 4 times by 1 test |
) { | 0-4 |
95 | return never executed: return 0; 0;never executed: return 0; | 0 |
96 | } | - |
97 | | - |
98 | if (sig == TRUE | evaluated 2 times by 1 test | FALSE | evaluated 2 times by 1 test |
| 2 |
99 | ((void *)0)TRUE | evaluated 2 times by 1 test | FALSE | evaluated 2 times by 1 test |
| 2 |
100 | ) { | - |
101 | *siglen = (size_t)sig_sz; | - |
102 | returnexecuted 2 times by 1 test: return 1; 1;executed 2 times by 1 test: return 1; | 2 |
103 | } | - |
104 | | - |
105 | if (*TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
siglen < (size_t)sig_szTRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
) { | 0-2 |
106 | ERR_put_error(53,(112),(107),__FILE__,106); | - |
107 | return never executed: return 0; 0;never executed: return 0; | 0 |
108 | } | - |
109 | | - |
110 | ret = sm2_sign(tbs, tbslen, sig, &sltmp, ec); | - |
111 | | - |
112 | if (ret <= 0TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
) | 0-2 |
113 | return never executed: return ret; ret;never executed: return ret; | 0 |
114 | *siglen = (size_t)sltmp; | - |
115 | returnexecuted 2 times by 1 test: return 1; 1;executed 2 times by 1 test: return 1; | 2 |
116 | } | - |
117 | | - |
118 | static int pkey_sm2_verify(EVP_PKEY_CTX *ctx, | - |
119 | const unsigned char *sig, size_t siglen, | - |
120 | const unsigned char *tbs, size_t tbslen) | - |
121 | { | - |
122 | EC_KEY *ec = ctx->pkey->pkey.ec; | - |
123 | | - |
124 | returnexecuted 5 times by 1 test: return sm2_verify(tbs, tbslen, sig, siglen, ec); sm2_verify(tbs, tbslen, sig, siglen, ec);executed 5 times by 1 test: return sm2_verify(tbs, tbslen, sig, siglen, ec); | 5 |
125 | } | - |
126 | | - |
127 | static int pkey_sm2_encrypt(EVP_PKEY_CTX *ctx, | - |
128 | unsigned char *out, size_t *outlen, | - |
129 | const unsigned char *in, size_t inlen) | - |
130 | { | - |
131 | EC_KEY *ec = ctx->pkey->pkey.ec; | - |
132 | SM2_PKEY_CTX *dctx = ctx->data; | - |
133 | const EVP_MD *md = (TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
dctx->md == TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
| 0-1 |
134 | ((void *)0)TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
| 0-1 |
135 | )TRUE | evaluated 1 time by 1 test | FALSE | never evaluated |
? EVP_sm3() : dctx->md; | 0-1 |
136 | | - |
137 | if (out == TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
| 0-1 |
138 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
| 0-1 |
139 | ) { | - |
140 | if (!sm2_ciphertext_size(ec, md, inlen, outlen)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
141 | return never executed: return -1; -1;never executed: return -1; | 0 |
142 | else | - |
143 | return never executed: return 1; 1;never executed: return 1; | 0 |
144 | } | - |
145 | | - |
146 | returnexecuted 1 time by 1 test: return sm2_encrypt(ec, md, in, inlen, out, outlen); sm2_encrypt(ec, md, in, inlen, out, outlen);executed 1 time by 1 test: return sm2_encrypt(ec, md, in, inlen, out, outlen); | 1 |
147 | } | - |
148 | | - |
149 | static int pkey_sm2_decrypt(EVP_PKEY_CTX *ctx, | - |
150 | unsigned char *out, size_t *outlen, | - |
151 | const unsigned char *in, size_t inlen) | - |
152 | { | - |
153 | EC_KEY *ec = ctx->pkey->pkey.ec; | - |
154 | SM2_PKEY_CTX *dctx = ctx->data; | - |
155 | const EVP_MD *md = (TRUE | evaluated 3 times by 1 test | FALSE | never evaluated |
dctx->md == TRUE | evaluated 3 times by 1 test | FALSE | never evaluated |
| 0-3 |
156 | ((void *)0)TRUE | evaluated 3 times by 1 test | FALSE | never evaluated |
| 0-3 |
157 | )TRUE | evaluated 3 times by 1 test | FALSE | never evaluated |
? EVP_sm3() : dctx->md; | 0-3 |
158 | | - |
159 | if (out == TRUE | evaluated 1 time by 1 test | FALSE | evaluated 2 times by 1 test |
| 1-2 |
160 | ((void *)0)TRUE | evaluated 1 time by 1 test | FALSE | evaluated 2 times by 1 test |
| 1-2 |
161 | ) { | - |
162 | if (!sm2_plaintext_size(ec, md, inlen, outlen)TRUE | never evaluated | FALSE | evaluated 1 time by 1 test |
) | 0-1 |
163 | return never executed: return -1; -1;never executed: return -1; | 0 |
164 | else | - |
165 | returnexecuted 1 time by 1 test: return 1; 1;executed 1 time by 1 test: return 1; | 1 |
166 | } | - |
167 | | - |
168 | returnexecuted 2 times by 1 test: return sm2_decrypt(ec, md, in, inlen, out, outlen); sm2_decrypt(ec, md, in, inlen, out, outlen);executed 2 times by 1 test: return sm2_decrypt(ec, md, in, inlen, out, outlen); | 2 |
169 | } | - |
170 | | - |
171 | static int pkey_sm2_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2) | - |
172 | { | - |
173 | SM2_PKEY_CTX *smctx = ctx->data; | - |
174 | EC_GROUP *group; | - |
175 | uint8_t *tmp_id; | - |
176 | | - |
177 | switch (type) { | - |
178 | case never executed: case (0x1000 + 1): (0x1000 + 1):never executed: case (0x1000 + 1): | 0 |
179 | group = EC_GROUP_new_by_curve_name(p1); | - |
180 | if (group == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
181 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
182 | ) { | - |
183 | ERR_put_error(53,(109),(108),__FILE__,173); | - |
184 | return never executed: return 0; 0;never executed: return 0; | 0 |
185 | } | - |
186 | EC_GROUP_free(smctx->gen_group); | - |
187 | smctx->gen_group = group; | - |
188 | return never executed: return 1; 1;never executed: return 1; | 0 |
189 | | - |
190 | case never executed: case (0x1000 + 2): (0x1000 + 2):never executed: case (0x1000 + 2): | 0 |
191 | if (smctx->gen_group == TRUE | never evaluated | FALSE | never evaluated |
| 0 |
192 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
193 | ) { | - |
194 | ERR_put_error(53,(109),(109),__FILE__,182); | - |
195 | return never executed: return 0; 0;never executed: return 0; | 0 |
196 | } | - |
197 | EC_GROUP_set_asn1_flag(smctx->gen_group, p1); | - |
198 | return never executed: return 1; 1;never executed: return 1; | 0 |
199 | | - |
200 | caseexecuted 7 times by 1 test: case 1: 1:executed 7 times by 1 test: case 1: | 7 |
201 | smctx->md = p2; | - |
202 | returnexecuted 7 times by 1 test: return 1; 1;executed 7 times by 1 test: return 1; | 7 |
203 | | - |
204 | case never executed: case 13: 13:never executed: case 13: | 0 |
205 | *(const EVP_MD **)p2 = smctx->md; | - |
206 | return never executed: return 1; 1;never executed: return 1; | 0 |
207 | | - |
208 | caseexecuted 2 times by 1 test: case (0x1000 + 11): (0x1000 + 11):executed 2 times by 1 test: case (0x1000 + 11): | 2 |
209 | if (p1 > 0TRUE | evaluated 2 times by 1 test | FALSE | never evaluated |
) { | 0-2 |
210 | tmp_id = CRYPTO_malloc(p1, __FILE__, 198); | - |
211 | if (tmp_id == TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
212 | ((void *)0)TRUE | never evaluated | FALSE | evaluated 2 times by 1 test |
| 0-2 |
213 | ) { | - |
214 | ERR_put_error(53,(109),((1|64)),__FILE__,200); | - |
215 | return never executed: return 0; 0;never executed: return 0; | 0 |
216 | } | - |
217 | memcpy(tmp_id, p2, p1); | - |
218 | CRYPTO_free(smctx->id, __FILE__, 204); | - |
219 | smctx->id = tmp_id; | - |
220 | }executed 2 times by 1 test: end of block else { | 2 |
221 | | - |
222 | CRYPTO_free(smctx->id, __FILE__, 208); | - |
223 | smctx->id = | - |
224 | ((void *)0) | - |
225 | ; | - |
226 | } never executed: end of block | 0 |
227 | smctx->id_len = (size_t)p1; | - |
228 | smctx->id_set = 1; | - |
229 | returnexecuted 2 times by 1 test: return 1; 1;executed 2 times by 1 test: return 1; | 2 |
230 | | - |
231 | case never executed: case (0x1000 + 12): (0x1000 + 12):never executed: case (0x1000 + 12): | 0 |
232 | memcpy(p2, smctx->id, smctx->id_len); | - |
233 | return never executed: return 1; 1;never executed: return 1; | 0 |
234 | | - |
235 | case never executed: case (0x1000 + 13): (0x1000 + 13):never executed: case (0x1000 + 13): | 0 |
236 | *(size_t *)p2 = smctx->id_len; | - |
237 | return never executed: return 1; 1;never executed: return 1; | 0 |
238 | | - |
239 | defaultexecuted 3 times by 1 test: default: :executed 3 times by 1 test: default: | 3 |
240 | returnexecuted 3 times by 1 test: return -2; -2;executed 3 times by 1 test: return -2; | 3 |
241 | } | - |
242 | } | - |
243 | | - |
244 | static int pkey_sm2_ctrl_str(EVP_PKEY_CTX *ctx, | - |
245 | const char *type, const char *value) | - |
246 | { | - |
247 | if ( | - |
248 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
249 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
250 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
251 | "ec_paramgen_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
252 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
253 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
254 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
255 | "ec_paramgen_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
256 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
257 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
258 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
259 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
260 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
261 | "ec_paramgen_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
262 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
263 | "ec_paramgen_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
264 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
265 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
266 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
267 | "ec_paramgen_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
268 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
269 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
270 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
271 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
272 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
273 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
274 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
275 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
276 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
277 | "ec_paramgen_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
278 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
279 | "ec_paramgen_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
280 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
281 | "ec_paramgen_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
282 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
283 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
284 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
285 | "ec_paramgen_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
286 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
287 | "ec_paramgen_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
288 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
289 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
290 | ))[0] - __s2[0]); if (__s1_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
291 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
292 | ))[1] - __s2[1]); if (__s1_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
293 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
294 | ))[2] - __s2[2]); if (__s1_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( type ))[3] - __s2[3]); | 0 |
295 | typeTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( type ))[3] - __s2[3]); | 0 |
296 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
297 | "ec_paramgen_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
298 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
299 | "ec_paramgen_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
300 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
301 | "ec_paramgen_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
302 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
303 | "ec_paramgen_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
304 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
305 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
306 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
307 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
308 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
309 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
310 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
311 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
312 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
313 | "ec_paramgen_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
314 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
315 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
316 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
317 | "ec_paramgen_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
318 | ))[0] - __s2[0]); if (__s2_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
319 | "ec_paramgen_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
320 | ))[1] - __s2[1]); if (__s2_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
321 | "ec_paramgen_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
322 | ))[2] - __s2[2]); if (__s2_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( "ec_paramgen_curve" ))[3] - __s2[3]); | 0 |
323 | "ec_paramgen_curve"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "ec_paramgen_curve" ))[3] - __s2[3]); | 0 |
324 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
325 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
326 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
327 | "ec_paramgen_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
328 | )))); }) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
329 | == 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
330 | int nid = 0; | - |
331 | | - |
332 | if (((TRUE | never evaluated | FALSE | never evaluated |
nid = EC_curve_nist2nid(value)) == 0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
333 | && ((TRUE | never evaluated | FALSE | never evaluated |
nid = OBJ_sn2nid(value)) == 0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
334 | && ((TRUE | never evaluated | FALSE | never evaluated |
nid = OBJ_ln2nid(value)) == 0)TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
335 | ERR_put_error(53,(110),(108),__FILE__,237); | - |
336 | return never executed: return 0; 0;never executed: return 0; | 0 |
337 | } | - |
338 | return never executed: return EVP_PKEY_CTX_ctrl(ctx, 408, (1<<1)|(1<<2), (0x1000 + 1), nid, ((void *)0) ); EVP_PKEY_CTX_ctrl(ctx, 408, (1<<1)|(1<<2), (0x1000 + 1), nid, never executed: return EVP_PKEY_CTX_ctrl(ctx, 408, (1<<1)|(1<<2), (0x1000 + 1), nid, ((void *)0) ); | 0 |
339 | ((void *)0) never executed: return EVP_PKEY_CTX_ctrl(ctx, 408, (1<<1)|(1<<2), (0x1000 + 1), nid, ((void *)0) ); | 0 |
340 | ); never executed: return EVP_PKEY_CTX_ctrl(ctx, 408, (1<<1)|(1<<2), (0x1000 + 1), nid, ((void *)0) ); | 0 |
341 | } else if ( | - |
342 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
343 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
344 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
345 | "ec_param_enc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
346 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
347 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
348 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
349 | "ec_param_enc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
350 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
351 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
352 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
353 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
354 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
355 | "ec_param_enc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
356 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
357 | "ec_param_enc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
358 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
359 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
360 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
361 | "ec_param_enc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
362 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
363 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
364 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
365 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
366 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
367 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
368 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
369 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
370 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
371 | "ec_param_enc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
372 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
373 | "ec_param_enc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
374 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
375 | "ec_param_enc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
376 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
377 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
378 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
379 | "ec_param_enc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
380 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
381 | "ec_param_enc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
382 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
383 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
384 | ))[0] - __s2[0]); if (__s1_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
385 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
386 | ))[1] - __s2[1]); if (__s1_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
387 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
388 | ))[2] - __s2[2]); if (__s1_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( type ))[3] - __s2[3]); | 0 |
389 | typeTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( type ))[3] - __s2[3]); | 0 |
390 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
391 | "ec_param_enc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
392 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
393 | "ec_param_enc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
394 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
395 | "ec_param_enc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
396 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
397 | "ec_param_enc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
398 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
399 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
400 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
401 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
402 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
403 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
404 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
405 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
406 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
407 | "ec_param_enc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
408 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
409 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
410 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
411 | "ec_param_enc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
412 | ))[0] - __s2[0]); if (__s2_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
413 | "ec_param_enc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
414 | ))[1] - __s2[1]); if (__s2_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
415 | "ec_param_enc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
416 | ))[2] - __s2[2]); if (__s2_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( "ec_param_enc" ))[3] - __s2[3]); | 0 |
417 | "ec_param_enc"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "ec_param_enc" ))[3] - __s2[3]); | 0 |
418 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
419 | typeTRUE | never evaluated | FALSE | never evaluated |
| 0 |
420 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
421 | "ec_param_enc"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
422 | )))); }) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
423 | == 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
424 | int param_enc; | - |
425 | | - |
426 | if ( | - |
427 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
428 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
429 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
430 | "explicit"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
431 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
432 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
433 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
434 | "explicit"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
435 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
436 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
437 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
438 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
439 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
440 | "explicit"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
441 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
442 | "explicit"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
443 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
444 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
445 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
446 | "explicit"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
447 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
448 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
449 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
450 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
451 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
452 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
453 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
454 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
455 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
456 | "explicit"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
457 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
458 | "explicit"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
459 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
460 | "explicit"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
461 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
462 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
463 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
464 | "explicit"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
465 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
466 | "explicit"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
467 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
468 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
469 | ))[0] - __s2[0]); if (__s1_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
470 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
471 | ))[1] - __s2[1]); if (__s1_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
472 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
473 | ))[2] - __s2[2]); if (__s1_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( value ))[3] - __s2[3]); | 0 |
474 | valueTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( value ))[3] - __s2[3]); | 0 |
475 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
476 | "explicit"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
477 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
478 | "explicit"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
479 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
480 | "explicit"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
481 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
482 | "explicit"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
483 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
484 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
485 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
486 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
487 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
488 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
489 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
490 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
491 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
492 | "explicit"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
493 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
494 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
495 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
496 | "explicit"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
497 | ))[0] - __s2[0]); if (__s2_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
498 | "explicit"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
499 | ))[1] - __s2[1]); if (__s2_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
500 | "explicit"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
501 | ))[2] - __s2[2]); if (__s2_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( "explicit" ))[3] - __s2[3]); | 0 |
502 | "explicit"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "explicit" ))[3] - __s2[3]); | 0 |
503 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
504 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
505 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
506 | "explicit"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
507 | )))); }) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
508 | == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
509 | param_enc = 0; never executed: param_enc = 0; | 0 |
510 | else if ( | - |
511 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
512 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
513 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
514 | "named_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
515 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
516 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
517 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
518 | "named_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
519 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
520 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
521 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
522 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
523 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
524 | "named_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
525 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
526 | "named_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
527 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
528 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
529 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
530 | "named_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
531 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
532 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
533 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
534 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
535 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
536 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
537 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
538 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
539 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
540 | "named_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
541 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
542 | "named_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
543 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
544 | "named_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
545 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
546 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
547 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
548 | "named_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
549 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
550 | "named_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
551 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
552 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
553 | ))[0] - __s2[0]); if (__s1_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
554 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
555 | ))[1] - __s2[1]); if (__s1_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
556 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
557 | ))[2] - __s2[2]); if (__s1_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( value ))[3] - __s2[3]); | 0 |
558 | valueTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( value ))[3] - __s2[3]); | 0 |
559 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
560 | "named_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
561 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
562 | "named_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
563 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
564 | "named_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
565 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
566 | "named_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
567 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
568 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
569 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
570 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
571 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
572 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
573 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
574 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
575 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
576 | "named_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
577 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
578 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
579 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
580 | "named_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
581 | ))[0] - __s2[0]); if (__s2_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
582 | "named_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
583 | ))[1] - __s2[1]); if (__s2_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
584 | "named_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
585 | ))[2] - __s2[2]); if (__s2_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( "named_curve" ))[3] - __s2[3]); | 0 |
586 | "named_curve"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "named_curve" ))[3] - __s2[3]); | 0 |
587 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
588 | valueTRUE | never evaluated | FALSE | never evaluated |
| 0 |
589 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
590 | "named_curve"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
591 | )))); }) TRUE | never evaluated | FALSE | never evaluated |
| 0 |
592 | == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
593 | param_enc = 0x001; never executed: param_enc = 0x001; | 0 |
594 | else | - |
595 | return never executed: return -2; -2;never executed: return -2; | 0 |
596 | return never executed: return EVP_PKEY_CTX_ctrl(ctx, 408, (1<<1)|(1<<2), (0x1000 + 2), param_enc, ((void *)0) ); EVP_PKEY_CTX_ctrl(ctx, 408, (1<<1)|(1<<2), (0x1000 + 2), param_enc, never executed: return EVP_PKEY_CTX_ctrl(ctx, 408, (1<<1)|(1<<2), (0x1000 + 2), param_enc, ((void *)0) ); | 0 |
597 | ((void *)0) never executed: return EVP_PKEY_CTX_ctrl(ctx, 408, (1<<1)|(1<<2), (0x1000 + 2), param_enc, ((void *)0) ); | 0 |
598 | ); never executed: return EVP_PKEY_CTX_ctrl(ctx, 408, (1<<1)|(1<<2), (0x1000 + 2), param_enc, ((void *)0) ); | 0 |
599 | } | - |
600 | | - |
601 | return never executed: return -2; -2;never executed: return -2; | 0 |
602 | } | - |
603 | | - |
604 | static int pkey_sm2_digest_custom(EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx) | - |
605 | { | - |
606 | uint8_t z[64]; | - |
607 | SM2_PKEY_CTX *smctx = ctx->data; | - |
608 | EC_KEY *ec = ctx->pkey->pkey.ec; | - |
609 | const EVP_MD *md = EVP_MD_CTX_md(mctx); | - |
610 | int mdlen = EVP_MD_size(md); | - |
611 | | - |
612 | if (!smctx->id_setTRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
) { | 0-3 |
613 | | - |
614 | | - |
615 | | - |
616 | | - |
617 | | - |
618 | ERR_put_error(53,(114),(112),__FILE__,270); | - |
619 | return never executed: return 0; 0;never executed: return 0; | 0 |
620 | } | - |
621 | | - |
622 | if (mdlen < 0TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
) { | 0-3 |
623 | ERR_put_error(53,(114),(102),__FILE__,275); | - |
624 | return never executed: return 0; 0;never executed: return 0; | 0 |
625 | } | - |
626 | | - |
627 | | - |
628 | if (!sm2_compute_z_digest(z, md, smctx->id, smctx->id_len, ec)TRUE | never evaluated | FALSE | evaluated 3 times by 1 test |
) | 0-3 |
629 | return never executed: return 0; 0;never executed: return 0; | 0 |
630 | | - |
631 | returnexecuted 3 times by 1 test: return EVP_DigestUpdate(mctx, z, (size_t)mdlen); EVP_DigestUpdate(mctx, z, (size_t)mdlen);executed 3 times by 1 test: return EVP_DigestUpdate(mctx, z, (size_t)mdlen); | 3 |
632 | } | - |
633 | | - |
634 | const EVP_PKEY_METHOD sm2_pkey_meth = { | - |
635 | 1172, | - |
636 | 0, | - |
637 | pkey_sm2_init, | - |
638 | pkey_sm2_copy, | - |
639 | pkey_sm2_cleanup, | - |
640 | | - |
641 | 0, | - |
642 | 0, | - |
643 | | - |
644 | 0, | - |
645 | 0, | - |
646 | | - |
647 | 0, | - |
648 | pkey_sm2_sign, | - |
649 | | - |
650 | 0, | - |
651 | pkey_sm2_verify, | - |
652 | | - |
653 | 0, 0, | - |
654 | | - |
655 | 0, 0, 0, 0, | - |
656 | | - |
657 | 0, | - |
658 | pkey_sm2_encrypt, | - |
659 | | - |
660 | 0, | - |
661 | pkey_sm2_decrypt, | - |
662 | | - |
663 | 0, | - |
664 | 0, | - |
665 | pkey_sm2_ctrl, | - |
666 | pkey_sm2_ctrl_str, | - |
667 | | - |
668 | 0, 0, | - |
669 | | - |
670 | 0, 0, 0, | - |
671 | | - |
672 | pkey_sm2_digest_custom | - |
673 | }; | - |
| | |