OpenCoverage

p8_pkey.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/asn1/p8_pkey.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4static int-
5pkey_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it, void *exarg)-
6{-
7-
8 if (operation == 2
operation == 2Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEevaluated 6 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
) {
1-6
9 PKCS8_PRIV_KEY_INFO *key = (PKCS8_PRIV_KEY_INFO *)*pval;-
10 if (key->pkey !=
key->pkey != ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEnever evaluated
0-1
11 ((void *)0)
key->pkey != ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEnever evaluated
0-1
12 )-
13 explicit_bzero(key->pkey->data, key->pkey->length);
executed 1 time by 1 test: explicit_bzero(key->pkey->data, key->pkey->length);
Executed by:
  • libcrypto.so.44.0.1
1
14 }
executed 1 time by 1 test: end of block
Executed by:
  • libcrypto.so.44.0.1
1
15 return
executed 7 times by 1 test: return 1;
Executed by:
  • libcrypto.so.44.0.1
1;
executed 7 times by 1 test: return 1;
Executed by:
  • libcrypto.so.44.0.1
7
16}-
17-
18static const ASN1_AUX PKCS8_PRIV_KEY_INFO_aux = {-
19 .asn1_cb = pkey_cb,-
20};-
21static const ASN1_TEMPLATE PKCS8_PRIV_KEY_INFO_seq_tt[] = {-
22 {-
23 .offset = -
24 __builtin_offsetof (-
25 PKCS8_PRIV_KEY_INFO-
26 , -
27 version-
28 )-
29 ,-
30 .field_name = "version",-
31 .item = &ASN1_INTEGER_it,-
32 },-
33 {-
34 .offset = -
35 __builtin_offsetof (-
36 PKCS8_PRIV_KEY_INFO-
37 , -
38 pkeyalg-
39 )-
40 ,-
41 .field_name = "pkeyalg",-
42 .item = &X509_ALGOR_it,-
43 },-
44 {-
45 .offset = -
46 __builtin_offsetof (-
47 PKCS8_PRIV_KEY_INFO-
48 , -
49 pkey-
50 )-
51 ,-
52 .field_name = "pkey",-
53 .item = &ASN1_OCTET_STRING_it,-
54 },-
55 {-
56 .flags = (0x1 << 3)|(0x2<<6) | (0x1 << 1) | (0x1),-
57 .offset = -
58 __builtin_offsetof (-
59 PKCS8_PRIV_KEY_INFO-
60 , -
61 attributes-
62 )-
63 ,-
64 .field_name = "attributes",-
65 .item = &X509_ATTRIBUTE_it,-
66 },-
67};-
68-
69const ASN1_ITEM PKCS8_PRIV_KEY_INFO_it = {-
70 .itype = 0x1,-
71 .utype = 16,-
72 .templates = PKCS8_PRIV_KEY_INFO_seq_tt,-
73 .tcount = sizeof(PKCS8_PRIV_KEY_INFO_seq_tt) / sizeof(ASN1_TEMPLATE),-
74 .funcs = &PKCS8_PRIV_KEY_INFO_aux,-
75 .size = sizeof(PKCS8_PRIV_KEY_INFO),-
76 .sname = "PKCS8_PRIV_KEY_INFO",-
77};-
78-
79-
80PKCS8_PRIV_KEY_INFO *-
81d2i_PKCS8_PRIV_KEY_INFO(PKCS8_PRIV_KEY_INFO **a, const unsigned char **in, long len)-
82{-
83 return
never executed: return (PKCS8_PRIV_KEY_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, &PKCS8_PRIV_KEY_INFO_it);
(PKCS8_PRIV_KEY_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
never executed: return (PKCS8_PRIV_KEY_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, &PKCS8_PRIV_KEY_INFO_it);
0
84 &PKCS8_PRIV_KEY_INFO_it);
never executed: return (PKCS8_PRIV_KEY_INFO *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, &PKCS8_PRIV_KEY_INFO_it);
0
85}-
86-
87int-
88i2d_PKCS8_PRIV_KEY_INFO(PKCS8_PRIV_KEY_INFO *a, unsigned char **out)-
89{-
90 return
executed 2 times by 1 test: return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS8_PRIV_KEY_INFO_it);
Executed by:
  • libcrypto.so.44.0.1
ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS8_PRIV_KEY_INFO_it);
executed 2 times by 1 test: return ASN1_item_i2d((ASN1_VALUE *)a, out, &PKCS8_PRIV_KEY_INFO_it);
Executed by:
  • libcrypto.so.44.0.1
2
91}-
92-
93PKCS8_PRIV_KEY_INFO *-
94PKCS8_PRIV_KEY_INFO_new(void)-
95{-
96 return
executed 1 time by 1 test: return (PKCS8_PRIV_KEY_INFO *)ASN1_item_new(&PKCS8_PRIV_KEY_INFO_it);
Executed by:
  • libcrypto.so.44.0.1
(PKCS8_PRIV_KEY_INFO *)ASN1_item_new(&PKCS8_PRIV_KEY_INFO_it);
executed 1 time by 1 test: return (PKCS8_PRIV_KEY_INFO *)ASN1_item_new(&PKCS8_PRIV_KEY_INFO_it);
Executed by:
  • libcrypto.so.44.0.1
1
97}-
98-
99void-
100PKCS8_PRIV_KEY_INFO_free(PKCS8_PRIV_KEY_INFO *a)-
101{-
102 ASN1_item_free((ASN1_VALUE *)a, &PKCS8_PRIV_KEY_INFO_it);-
103}
executed 2 times by 2 tests: end of block
Executed by:
  • freenull
  • libcrypto.so.44.0.1
2
104-
105int-
106PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, int version,-
107 int ptype, void *pval, unsigned char *penc, int penclen)-
108{-
109 if (version >= 0
version >= 0Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEnever evaluated
) {
0-1
110 if (!ASN1_INTEGER_set(priv->version, version)
!ASN1_INTEGER_...sion, version)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
)
0-1
111 return
never executed: return 0;
0;
never executed: return 0;
0
112 }
executed 1 time by 1 test: end of block
Executed by:
  • libcrypto.so.44.0.1
1
113 if (!X509_ALGOR_set0(priv->pkeyalg, aobj, ptype, pval)
!X509_ALGOR_se..., ptype, pval)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
)
0-1
114 return
never executed: return 0;
0;
never executed: return 0;
0
115 if (penc !=
penc != ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEnever evaluated
0-1
116 ((void *)0)
penc != ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEnever evaluated
0-1
117 )-
118 ASN1_STRING_set0(priv->pkey, penc, penclen);
executed 1 time by 1 test: ASN1_STRING_set0(priv->pkey, penc, penclen);
Executed by:
  • libcrypto.so.44.0.1
1
119 return
executed 1 time by 1 test: return 1;
Executed by:
  • libcrypto.so.44.0.1
1;
executed 1 time by 1 test: return 1;
Executed by:
  • libcrypto.so.44.0.1
1
120}-
121-
122int-
123PKCS8_pkey_get0(const ASN1_OBJECT **ppkalg, const unsigned char **pk,-
124 int *ppklen, const X509_ALGOR **pa, const PKCS8_PRIV_KEY_INFO *p8)-
125{-
126 if (ppkalg !=
ppkalg != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
127 ((void *)0)
ppkalg != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
128 )-
129 *
never executed: *ppkalg = p8->pkeyalg->algorithm;
ppkalg = p8->pkeyalg->algorithm;
never executed: *ppkalg = p8->pkeyalg->algorithm;
0
130 if (pk !=
pk != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
131 ((void *)0)
pk != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
132 ) {-
133 *pk = ASN1_STRING_data(p8->pkey);-
134 *ppklen = ASN1_STRING_length(p8->pkey);-
135 }
never executed: end of block
0
136 if (pa !=
pa != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
137 ((void *)0)
pa != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
138 )-
139 *
never executed: *pa = p8->pkeyalg;
pa = p8->pkeyalg;
never executed: *pa = p8->pkeyalg;
0
140 return
never executed: return 1;
1;
never executed: return 1;
0
141}-
142-
143const struct stack_st_X509_ATTRIBUTE *-
144PKCS8_pkey_get0_attrs(const PKCS8_PRIV_KEY_INFO *p8)-
145{-
146 return
never executed: return p8->attributes;
p8->attributes;
never executed: return p8->attributes;
0
147}-
148-
149int-
150PKCS8_pkey_add1_attr_by_NID(PKCS8_PRIV_KEY_INFO *p8, int nid, int type,-
151 const unsigned char *bytes, int len)-
152{-
153 if (X509at_add1_attr_by_NID(&p8->attributes, nid, type, bytes,
X509at_add1_at...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
154 len) !=
X509at_add1_at...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
155 ((void *)0)
X509at_add1_at...!= ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
156 )-
157 return
never executed: return 1;
1;
never executed: return 1;
0
158 return
never executed: return 0;
0;
never executed: return 0;
0
159}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2