Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/asn1/d2i_pr.c |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | - | |||||||||||||||||||
2 | - | |||||||||||||||||||
3 | - | |||||||||||||||||||
4 | - | |||||||||||||||||||
5 | - | |||||||||||||||||||
6 | - | |||||||||||||||||||
7 | - | |||||||||||||||||||
8 | - | |||||||||||||||||||
9 | - | |||||||||||||||||||
10 | EVP_PKEY * | - | ||||||||||||||||||
11 | d2i_PrivateKey(int type, EVP_PKEY **a, const unsigned char **pp, long length) | - | ||||||||||||||||||
12 | { | - | ||||||||||||||||||
13 | EVP_PKEY *ret; | - | ||||||||||||||||||
14 | - | |||||||||||||||||||
15 | if ((
| 0-65 | ||||||||||||||||||
16 | ((void *)0)
| 0-65 | ||||||||||||||||||
17 | )
| 0-65 | ||||||||||||||||||
18 | ((void *)0)
| 0 | ||||||||||||||||||
19 | )
| 0 | ||||||||||||||||||
20 | if ((
| 0-65 | ||||||||||||||||||
21 | ((void *)0)
| 0-65 | ||||||||||||||||||
22 | ) { | - | ||||||||||||||||||
23 | ERR_put_error(13,(0xfff),(6),__FILE__,83); | - | ||||||||||||||||||
24 | return never executed: (return ( ((void *)0) ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
25 | ((void *)0) never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
26 | ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
27 | } | - | ||||||||||||||||||
28 | } executed 65 times by 5 tests: else {end of block Executed by:
| 65 | ||||||||||||||||||
29 | ret = *a; | - | ||||||||||||||||||
30 | - | |||||||||||||||||||
31 | ENGINE_finish(ret->engine); | - | ||||||||||||||||||
32 | ret->engine = | - | ||||||||||||||||||
33 | ((void *)0) | - | ||||||||||||||||||
34 | ; | - | ||||||||||||||||||
35 | - | |||||||||||||||||||
36 | } never executed: end of block | 0 | ||||||||||||||||||
37 | - | |||||||||||||||||||
38 | if (!EVP_PKEY_set_type(ret, type)
| 0-65 | ||||||||||||||||||
39 | ERR_put_error(13,(0xfff),(163),__FILE__,95); | - | ||||||||||||||||||
40 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||
41 | } | - | ||||||||||||||||||
42 | - | |||||||||||||||||||
43 | if (!ret->ameth->old_priv_decode
| 0-65 | ||||||||||||||||||
44 | !ret->ameth->old_priv_decode(ret, pp, length)
| 0-65 | ||||||||||||||||||
45 | if (ret->ameth->priv_decode
| 0 | ||||||||||||||||||
46 | PKCS8_PRIV_KEY_INFO *p8 = | - | ||||||||||||||||||
47 | ((void *)0) | - | ||||||||||||||||||
48 | ; | - | ||||||||||||||||||
49 | p8 = d2i_PKCS8_PRIV_KEY_INFO( | - | ||||||||||||||||||
50 | ((void *)0) | - | ||||||||||||||||||
51 | , pp, length); | - | ||||||||||||||||||
52 | if (!p8
| 0 | ||||||||||||||||||
53 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||
54 | EVP_PKEY_free(ret); | - | ||||||||||||||||||
55 | ret = EVP_PKCS82PKEY(p8); | - | ||||||||||||||||||
56 | PKCS8_PRIV_KEY_INFO_free(p8); | - | ||||||||||||||||||
57 | } never executed: else {end of block | 0 | ||||||||||||||||||
58 | ERR_put_error(13,(0xfff),(13),__FILE__,110); | - | ||||||||||||||||||
59 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||||||||||||||
60 | } | - | ||||||||||||||||||
61 | } | - | ||||||||||||||||||
62 | if (a !=
| 0-65 | ||||||||||||||||||
63 | ((void *)0)
| 0-65 | ||||||||||||||||||
64 | ) | - | ||||||||||||||||||
65 | (* never executed: a) = ret;(*a) = ret; never executed: (*a) = ret; | 0 | ||||||||||||||||||
66 | return executed 65 times by 5 tests: (ret);return (ret); Executed by:
executed 65 times by 5 tests: return (ret); Executed by:
| 65 | ||||||||||||||||||
67 | - | |||||||||||||||||||
68 | err: | - | ||||||||||||||||||
69 | if (a ==
| 0 | ||||||||||||||||||
70 | ((void *)0)
| 0 | ||||||||||||||||||
71 | || *
| 0 | ||||||||||||||||||
72 | EVP_PKEY_free(ret); never executed: EVP_PKEY_free(ret); | 0 | ||||||||||||||||||
73 | return never executed: (return ( ((void *)0) ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
74 | ((void *)0) never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
75 | ); never executed: return ( ((void *)0) ); | 0 | ||||||||||||||||||
76 | } | - | ||||||||||||||||||
77 | - | |||||||||||||||||||
78 | - | |||||||||||||||||||
79 | - | |||||||||||||||||||
80 | EVP_PKEY * | - | ||||||||||||||||||
81 | d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp, long length) | - | ||||||||||||||||||
82 | { | - | ||||||||||||||||||
83 | struct stack_st_ASN1_TYPE *inkey; | - | ||||||||||||||||||
84 | const unsigned char *p; | - | ||||||||||||||||||
85 | int keytype; | - | ||||||||||||||||||
86 | - | |||||||||||||||||||
87 | p = *pp; | - | ||||||||||||||||||
88 | - | |||||||||||||||||||
89 | - | |||||||||||||||||||
90 | - | |||||||||||||||||||
91 | - | |||||||||||||||||||
92 | inkey = d2i_ASN1_SEQUENCE_ANY( | - | ||||||||||||||||||
93 | ((void *)0) | - | ||||||||||||||||||
94 | , &p, length); | - | ||||||||||||||||||
95 | - | |||||||||||||||||||
96 | - | |||||||||||||||||||
97 | - | |||||||||||||||||||
98 | if (sk_num(((_STACK*) (1 ? (inkey) : (struct stack_st_ASN1_TYPE*)0))) == 6
| 0 | ||||||||||||||||||
99 | keytype = 116; never executed: keytype = 116; | 0 | ||||||||||||||||||
100 | else if (sk_num(((_STACK*) (1 ? (inkey) : (struct stack_st_ASN1_TYPE*)0))) == 4
| 0 | ||||||||||||||||||
101 | keytype = 408; never executed: keytype = 408; | 0 | ||||||||||||||||||
102 | else if (sk_num(((_STACK*) (1 ? (inkey) : (struct stack_st_ASN1_TYPE*)0))) == 3
| 0 | ||||||||||||||||||
103 | - | |||||||||||||||||||
104 | PKCS8_PRIV_KEY_INFO *p8 = d2i_PKCS8_PRIV_KEY_INFO( | - | ||||||||||||||||||
105 | - | |||||||||||||||||||
106 | ((void *)0) | - | ||||||||||||||||||
107 | , pp, length); | - | ||||||||||||||||||
108 | EVP_PKEY *ret; | - | ||||||||||||||||||
109 | - | |||||||||||||||||||
110 | sk_pop_free(((_STACK*) (1 ? (inkey) : (struct stack_st_ASN1_TYPE*)0)), ((void (*)(void *)) ((1 ? (ASN1_TYPE_free) : (void (*)(ASN1_TYPE *))0)))); | - | ||||||||||||||||||
111 | if (!p8
| 0 | ||||||||||||||||||
112 | ERR_put_error(13,(0xfff),(167),__FILE__,154); | - | ||||||||||||||||||
113 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||
114 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||||||||||||||
115 | ; never executed: return ((void *)0) ; | 0 | ||||||||||||||||||
116 | } | - | ||||||||||||||||||
117 | ret = EVP_PKCS82PKEY(p8); | - | ||||||||||||||||||
118 | PKCS8_PRIV_KEY_INFO_free(p8); | - | ||||||||||||||||||
119 | if (a
| 0 | ||||||||||||||||||
120 | *a = ret; | - | ||||||||||||||||||
121 | } never executed: end of block | 0 | ||||||||||||||||||
122 | return never executed: ret;return ret; never executed: return ret; | 0 | ||||||||||||||||||
123 | } else | - | ||||||||||||||||||
124 | keytype = 6; never executed: keytype = 6; | 0 | ||||||||||||||||||
125 | sk_pop_free(((_STACK*) (1 ? (inkey) : (struct stack_st_ASN1_TYPE*)0)), ((void (*)(void *)) ((1 ? (ASN1_TYPE_free) : (void (*)(ASN1_TYPE *))0)))); | - | ||||||||||||||||||
126 | return never executed: d2i_PrivateKey(keytype, a, pp, length);return d2i_PrivateKey(keytype, a, pp, length); never executed: return d2i_PrivateKey(keytype, a, pp, length); | 0 | ||||||||||||||||||
127 | } | - | ||||||||||||||||||
Switch to Source code | Preprocessed file |