OpenCoverage

p5_pbe.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/asn1/p5_pbe.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5static const ASN1_TEMPLATE PBEPARAM_seq_tt[] = {-
6 {-
7 .offset = -
8 __builtin_offsetof (-
9 PBEPARAM-
10 , -
11 salt-
12 )-
13 ,-
14 .field_name = "salt",-
15 .item = &ASN1_OCTET_STRING_it,-
16 },-
17 {-
18 .offset = -
19 __builtin_offsetof (-
20 PBEPARAM-
21 , -
22 iter-
23 )-
24 ,-
25 .field_name = "iter",-
26 .item = &ASN1_INTEGER_it,-
27 },-
28};-
29-
30const ASN1_ITEM PBEPARAM_it = {-
31 .itype = 0x1,-
32 .utype = 16,-
33 .templates = PBEPARAM_seq_tt,-
34 .tcount = sizeof(PBEPARAM_seq_tt) / sizeof(ASN1_TEMPLATE),-
35 .size = sizeof(PBEPARAM),-
36 .sname = "PBEPARAM",-
37};-
38-
39-
40PBEPARAM *-
41d2i_PBEPARAM(PBEPARAM **a, const unsigned char **in, long len)-
42{-
43 return
never executed: return (PBEPARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, &PBEPARAM_it);
(PBEPARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len,
never executed: return (PBEPARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, &PBEPARAM_it);
0
44 &PBEPARAM_it);
never executed: return (PBEPARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, &PBEPARAM_it);
0
45}-
46-
47int-
48i2d_PBEPARAM(PBEPARAM *a, unsigned char **out)-
49{-
50 return
never executed: return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBEPARAM_it);
ASN1_item_i2d((ASN1_VALUE *)a, out, &PBEPARAM_it);
never executed: return ASN1_item_i2d((ASN1_VALUE *)a, out, &PBEPARAM_it);
0
51}-
52-
53PBEPARAM *-
54PBEPARAM_new(void)-
55{-
56 return
never executed: return (PBEPARAM *)ASN1_item_new(&PBEPARAM_it);
(PBEPARAM *)ASN1_item_new(&PBEPARAM_it);
never executed: return (PBEPARAM *)ASN1_item_new(&PBEPARAM_it);
0
57}-
58-
59void-
60PBEPARAM_free(PBEPARAM *a)-
61{-
62 ASN1_item_free((ASN1_VALUE *)a, &PBEPARAM_it);-
63}
executed 1 time by 1 test: end of block
Executed by:
  • freenull
1
64-
65-
66-
67-
68int-
69PKCS5_pbe_set0_algor(X509_ALGOR *algor, int alg, int iter,-
70 const unsigned char *salt, int saltlen)-
71{-
72 PBEPARAM *pbe = -
73 ((void *)0)-
74 ;-
75 ASN1_STRING *pbe_str = -
76 ((void *)0)-
77 ;-
78 unsigned char *sstr;-
79-
80 pbe = PBEPARAM_new();-
81 if (!pbe
!pbeDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
82 ERR_put_error(13,(0xfff),((1|64)),__FILE__,130);-
83 goto
never executed: goto err;
err;
never executed: goto err;
0
84 }-
85 if (iter <= 0
iter <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
86 iter = 2048;
never executed: iter = 2048;
0
87 if (!ASN1_INTEGER_set(pbe->iter, iter)
!ASN1_INTEGER_...e->iter, iter)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
88 ERR_put_error(13,(0xfff),((1|64)),__FILE__,136);-
89 goto
never executed: goto err;
err;
never executed: goto err;
0
90 }-
91 if (!saltlen
!saltlenDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
92 saltlen = 8;
never executed: saltlen = 8;
0
93 if (!ASN1_STRING_set(pbe->salt,
!ASN1_STRING_s...)0) , saltlen)Description
TRUEnever evaluated
FALSEnever evaluated
0
94 ((void *)0)
!ASN1_STRING_s...)0) , saltlen)Description
TRUEnever evaluated
FALSEnever evaluated
0
95 , saltlen)
!ASN1_STRING_s...)0) , saltlen)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
96 ERR_put_error(13,(0xfff),((1|64)),__FILE__,142);-
97 goto
never executed: goto err;
err;
never executed: goto err;
0
98 }-
99 sstr = ASN1_STRING_data(pbe->salt);-
100 if (salt
saltDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
101 memcpy(sstr, salt, saltlen);
never executed: memcpy(sstr, salt, saltlen);
0
102 else-
103 arc4random_buf(sstr, saltlen);
never executed: arc4random_buf(sstr, saltlen);
0
104-
105 if (!ASN1_item_pack(pbe, &PBEPARAM_it, &pbe_str)
!ASN1_item_pac..._it, &pbe_str)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
106 ERR_put_error(13,(0xfff),((1|64)),__FILE__,152);-
107 goto
never executed: goto err;
err;
never executed: goto err;
0
108 }-
109-
110 PBEPARAM_free(pbe);-
111 pbe = -
112 ((void *)0)-
113 ;-
114-
115 if (X509_ALGOR_set0(algor, OBJ_nid2obj(alg), 16, pbe_str)
X509_ALGOR_set..., 16, pbe_str)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
116 return
never executed: return 1;
1;
never executed: return 1;
0
117-
118err:
code before this statement never executed: err:
0
119 if (pbe !=
pbe != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
120 ((void *)0)
pbe != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
121 )-
122 PBEPARAM_free(pbe);
never executed: PBEPARAM_free(pbe);
0
123 ASN1_STRING_free(pbe_str);-
124 return
never executed: return 0;
0;
never executed: return 0;
0
125}-
126-
127-
128-
129X509_ALGOR *-
130PKCS5_pbe_set(int alg, int iter, const unsigned char *salt, int saltlen)-
131{-
132 X509_ALGOR *ret;-
133 ret = X509_ALGOR_new();-
134 if (!ret
!retDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
135 ERR_put_error(13,(0xfff),((1|64)),__FILE__,177);-
136 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
137 ((void *)0)
never executed: return ((void *)0) ;
0
138 ;
never executed: return ((void *)0) ;
0
139 }-
140-
141 if (PKCS5_pbe_set0_algor(ret, alg, iter, salt, saltlen)
PKCS5_pbe_set0...salt, saltlen)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
142 return
never executed: return ret;
ret;
never executed: return ret;
0
143-
144 X509_ALGOR_free(ret);-
145 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
146 ((void *)0)
never executed: return ((void *)0) ;
0
147 ;
never executed: return ((void *)0) ;
0
148}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2