Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/asn1/p5_pbe.c |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||
---|---|---|---|---|---|---|---|---|
1 | - | |||||||
2 | - | |||||||
3 | - | |||||||
4 | static const ASN1_TEMPLATE PBEPARAM_seq_tt[] = { | - | ||||||
5 | { (0), (0), | - | ||||||
6 | __builtin_offsetof ( | - | ||||||
7 | PBEPARAM | - | ||||||
8 | , | - | ||||||
9 | salt | - | ||||||
10 | ) | - | ||||||
11 | , "salt", (&(ASN1_OCTET_STRING_it)) }, | - | ||||||
12 | { (0), (0), | - | ||||||
13 | __builtin_offsetof ( | - | ||||||
14 | PBEPARAM | - | ||||||
15 | , | - | ||||||
16 | iter | - | ||||||
17 | ) | - | ||||||
18 | , "iter", (&(ASN1_INTEGER_it)) } | - | ||||||
19 | } ; const ASN1_ITEM PBEPARAM_it = { 0x1, 16, PBEPARAM_seq_tt, sizeof(PBEPARAM_seq_tt) / sizeof(ASN1_TEMPLATE), | - | ||||||
20 | ((void *)0) | - | ||||||
21 | , sizeof(PBEPARAM), "PBEPARAM" }; | - | ||||||
22 | - | |||||||
23 | PBEPARAM *d2i_PBEPARAM(PBEPARAM **a, const unsigned char **in, long len) { return never executed: (PBEPARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, (&(PBEPARAM_it)));return (PBEPARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, (&(PBEPARAM_it))); never executed: } int i2d_PBEPARAM(PBEPARAM *a, unsigned char **out) { returnreturn (PBEPARAM *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, (&(PBEPARAM_it))); never executed: ASN1_item_i2d((ASN1_VALUE *)a, out, (&(PBEPARAM_it)));return ASN1_item_i2d((ASN1_VALUE *)a, out, (&(PBEPARAM_it))); never executed: } PBEPARAM *PBEPARAM_new(void) { returnreturn ASN1_item_i2d((ASN1_VALUE *)a, out, (&(PBEPARAM_it))); never executed: (PBEPARAM *)ASN1_item_new((&(PBEPARAM_it)));return (PBEPARAM *)ASN1_item_new((&(PBEPARAM_it))); never executed: } void PBEPARAM_free(PBEPARAM *a) { ASN1_item_free((ASN1_VALUE *)a, (&(PBEPARAM_it))); }return (PBEPARAM *)ASN1_item_new((&(PBEPARAM_it))); never executed: end of block | 0 | ||||||
24 | - | |||||||
25 | - | |||||||
26 | - | |||||||
27 | int PKCS5_pbe_set0_algor(X509_ALGOR *algor, int alg, int iter, | - | ||||||
28 | const unsigned char *salt, int saltlen) | - | ||||||
29 | { | - | ||||||
30 | PBEPARAM *pbe = | - | ||||||
31 | ((void *)0) | - | ||||||
32 | ; | - | ||||||
33 | ASN1_STRING *pbe_str = | - | ||||||
34 | ((void *)0) | - | ||||||
35 | ; | - | ||||||
36 | unsigned char *sstr = | - | ||||||
37 | ((void *)0) | - | ||||||
38 | ; | - | ||||||
39 | - | |||||||
40 | pbe = PBEPARAM_new(); | - | ||||||
41 | if (pbe ==
| 0 | ||||||
42 | ((void *)0)
| 0 | ||||||
43 | ) { | - | ||||||
44 | ERR_put_error(13,(215),((1|64)),__FILE__,36); | - | ||||||
45 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||
46 | } | - | ||||||
47 | if (iter <= 0
| 0 | ||||||
48 | iter = 2048; never executed: iter = 2048; | 0 | ||||||
49 | if (!ASN1_INTEGER_set(pbe->iter, iter)
| 0 | ||||||
50 | ERR_put_error(13,(215),((1|64)),__FILE__,42); | - | ||||||
51 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||
52 | } | - | ||||||
53 | if (!saltlen
| 0 | ||||||
54 | saltlen = 8; never executed: saltlen = 8; | 0 | ||||||
55 | - | |||||||
56 | sstr = CRYPTO_malloc(saltlen, __FILE__, 48); | - | ||||||
57 | if (sstr ==
| 0 | ||||||
58 | ((void *)0)
| 0 | ||||||
59 | ) { | - | ||||||
60 | ERR_put_error(13,(215),((1|64)),__FILE__,50); | - | ||||||
61 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||
62 | } | - | ||||||
63 | if (salt
| 0 | ||||||
64 | memcpy(sstr, salt, saltlen); never executed: memcpy(sstr, salt, saltlen); | 0 | ||||||
65 | else if (RAND_bytes(sstr, saltlen) <= 0
| 0 | ||||||
66 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||
67 | - | |||||||
68 | ASN1_STRING_set0(pbe->salt, sstr, saltlen); | - | ||||||
69 | sstr = | - | ||||||
70 | ((void *)0) | - | ||||||
71 | ; | - | ||||||
72 | - | |||||||
73 | if (!ASN1_item_pack(pbe, (&(PBEPARAM_it)), &pbe_str)
| 0 | ||||||
74 | ERR_put_error(13,(215),((1|64)),__FILE__,62); | - | ||||||
75 | goto never executed: err;goto err; never executed: goto err; | 0 | ||||||
76 | } | - | ||||||
77 | - | |||||||
78 | PBEPARAM_free(pbe); | - | ||||||
79 | pbe = | - | ||||||
80 | ((void *)0) | - | ||||||
81 | ; | - | ||||||
82 | - | |||||||
83 | if (X509_ALGOR_set0(algor, OBJ_nid2obj(alg), 16, pbe_str)
| 0 | ||||||
84 | return never executed: 1;return 1; never executed: return 1; | 0 | ||||||
85 | - | |||||||
86 | err: code before this statement never executed: err: | 0 | ||||||
87 | CRYPTO_free(sstr, __FILE__, 73); | - | ||||||
88 | PBEPARAM_free(pbe); | - | ||||||
89 | ASN1_STRING_free(pbe_str); | - | ||||||
90 | return never executed: 0;return 0; never executed: return 0; | 0 | ||||||
91 | } | - | ||||||
92 | - | |||||||
93 | - | |||||||
94 | - | |||||||
95 | X509_ALGOR *PKCS5_pbe_set(int alg, int iter, | - | ||||||
96 | const unsigned char *salt, int saltlen) | - | ||||||
97 | { | - | ||||||
98 | X509_ALGOR *ret; | - | ||||||
99 | ret = X509_ALGOR_new(); | - | ||||||
100 | if (ret ==
| 0 | ||||||
101 | ((void *)0)
| 0 | ||||||
102 | ) { | - | ||||||
103 | ERR_put_error(13,(202),((1|64)),__FILE__,87); | - | ||||||
104 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 | ||||||
105 | ((void *)0) never executed: return ((void *)0) ; | 0 | ||||||
106 | ; never executed: return ((void *)0) ; | 0 | ||||||
107 | } | - | ||||||
108 | - | |||||||
109 | if (PKCS5_pbe_set0_algor(ret, alg, iter, salt, saltlen)
| 0 | ||||||
110 | return never executed: ret;return ret; never executed: return ret; | 0 | ||||||
111 | - | |||||||
112 | X509_ALGOR_free(ret); | - | ||||||
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 | } | - | ||||||
Switch to Source code | Preprocessed file |