OpenCoverage

p12_key.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/pkcs12/p12_key.c
Switch to Source codePreprocessed file
LineSourceCount
1int PKCS12_key_gen_asc(const char *pass, int passlen, unsigned char *salt,-
2 int saltlen, int id, int iter, int n,-
3 unsigned char *out, const EVP_MD *md_type)-
4{-
5 int ret;-
6 unsigned char *unipass;-
7 int uniplen;-
8-
9 if (!pass
!passDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
10 unipass = -
11 ((void *)0)-
12 ;-
13 uniplen = 0;-
14 }
never executed: end of block
else if (!OPENSSL_asc2uni(pass, passlen, &unipass, &uniplen)
!OPENSSL_asc2u...ass, &uniplen)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
15 ERR_put_error(35,(110),((1|64)),__FILE__,42);-
16 return
never executed: return 0;
0;
never executed: return 0;
0
17 }-
18 ret = PKCS12_key_gen_uni(unipass, uniplen, salt, saltlen,-
19 id, iter, n, out, md_type);-
20 if (ret <= 0
ret <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
21 return
never executed: return 0;
0;
never executed: return 0;
0
22 CRYPTO_clear_free(unipass, uniplen, __FILE__, 49);-
23 return
never executed: return ret;
ret;
never executed: return ret;
0
24}-
25-
26int PKCS12_key_gen_utf8(const char *pass, int passlen, unsigned char *salt,-
27 int saltlen, int id, int iter, int n,-
28 unsigned char *out, const EVP_MD *md_type)-
29{-
30 int ret;-
31 unsigned char *unipass;-
32 int uniplen;-
33-
34 if (!pass
!passDescription
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-1
35 unipass = -
36 ((void *)0)-
37 ;-
38 uniplen = 0;-
39 }
never executed: end of block
else if (!OPENSSL_utf82uni(pass, passlen, &unipass, &uniplen)
!OPENSSL_utf82...ass, &uniplen)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-1
40 ERR_put_error(35,(116),((1|64)),__FILE__,65);-
41 return
never executed: return 0;
0;
never executed: return 0;
0
42 }-
43 ret = PKCS12_key_gen_uni(unipass, uniplen, salt, saltlen,-
44 id, iter, n, out, md_type);-
45 if (ret <= 0
ret <= 0Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-1
46 return
never executed: return 0;
0;
never executed: return 0;
0
47 CRYPTO_clear_free(unipass, uniplen, __FILE__, 72);-
48 return
executed 1 time by 1 test: return ret;
Executed by:
  • libcrypto.so.1.1
ret;
executed 1 time by 1 test: return ret;
Executed by:
  • libcrypto.so.1.1
1
49}-
50-
51int PKCS12_key_gen_uni(unsigned char *pass, int passlen, unsigned char *salt,-
52 int saltlen, int id, int iter, int n,-
53 unsigned char *out, const EVP_MD *md_type)-
54{-
55 unsigned char *B = -
56 ((void *)0)-
57 , *D = -
58 ((void *)0)-
59 , *I = -
60 ((void *)0)-
61 , *p = -
62 ((void *)0)-
63 , *Ai = -
64 ((void *)0)-
65 ;-
66 int Slen, Plen, Ilen;-
67 int i, j, u, v;-
68 int ret = 0;-
69 EVP_MD_CTX *ctx = -
70 ((void *)0)-
71 ;-
72-
73-
74-
75-
76-
77 ctx = EVP_MD_CTX_new();-
78 if (ctx ==
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-7
79 ((void *)0)
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-7
80 )-
81 goto
never executed: goto err;
err;
never executed: goto err;
0
82 v = EVP_MD_block_size(md_type);-
83 u = EVP_MD_size(md_type);-
84 if (u < 0
u < 0Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
|| v <= 0
v <= 0Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-7
85 goto
never executed: goto err;
err;
never executed: goto err;
0
86 D = CRYPTO_malloc(v, __FILE__, 106);-
87 Ai = CRYPTO_malloc(u, __FILE__, 107);-
88 B = CRYPTO_malloc(v + 1, __FILE__, 108);-
89 Slen = v * ((saltlen + v - 1) / v);-
90 if (passlen
passlenDescription
TRUEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
)
0-7
91 Plen = v * ((passlen + v - 1) / v);
executed 7 times by 1 test: Plen = v * ((passlen + v - 1) / v);
Executed by:
  • libcrypto.so.1.1
7
92 else-
93 Plen = 0;
never executed: Plen = 0;
0
94 Ilen = Slen + Plen;-
95 I = CRYPTO_malloc(Ilen, __FILE__, 115);-
96 if (D ==
D == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-7
97 ((void *)0)
D == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-7
98 || Ai ==
Ai == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-7
99 ((void *)0)
Ai == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-7
100 || B ==
B == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-7
101 ((void *)0)
B == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-7
102 || I ==
I == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-7
103 ((void *)0)
I == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-7
104 )-
105 goto
never executed: goto err;
err;
never executed: goto err;
0
106 for (i = 0; i < v
i < vDescription
TRUEevaluated 448 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
; i++)
7-448
107 D[i] = id;
executed 448 times by 1 test: D[i] = id;
Executed by:
  • libcrypto.so.1.1
448
108 p = I;-
109 for (i = 0; i < Slen
i < SlenDescription
TRUEevaluated 448 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
; i++)
7-448
110 *
executed 448 times by 1 test: *p++ = salt[i % saltlen];
Executed by:
  • libcrypto.so.1.1
p++ = salt[i % saltlen];
executed 448 times by 1 test: *p++ = salt[i % saltlen];
Executed by:
  • libcrypto.so.1.1
448
111 for (i = 0; i < Plen
i < PlenDescription
TRUEevaluated 448 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
; i++)
7-448
112 *
executed 448 times by 1 test: *p++ = pass[i % passlen];
Executed by:
  • libcrypto.so.1.1
p++ = pass[i % passlen];
executed 448 times by 1 test: *p++ = pass[i % passlen];
Executed by:
  • libcrypto.so.1.1
448
113 for (;;) {-
114 if (!EVP_DigestInit_ex(ctx, md_type,
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 9 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-9
115 ((void *)0)
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 9 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-9
116 )
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 9 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-9
117 || !EVP_DigestUpdate(ctx, D, v)
!EVP_DigestUpdate(ctx, D, v)Description
TRUEnever evaluated
FALSEevaluated 9 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-9
118 || !EVP_DigestUpdate(ctx, I, Ilen)
!EVP_DigestUpd...(ctx, I, Ilen)Description
TRUEnever evaluated
FALSEevaluated 9 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-9
119 || !EVP_DigestFinal_ex(ctx, Ai,
!EVP_DigestFin... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 9 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-9
120 ((void *)0)
!EVP_DigestFin... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 9 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-9
121 )
!EVP_DigestFin... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 9 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-9
122 goto
never executed: goto err;
err;
never executed: goto err;
0
123 for (j = 1; j < iter
j < iterDescription
TRUEevaluated 5995 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 9 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
; j++) {
9-5995
124 if (!EVP_DigestInit_ex(ctx, md_type,
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 5995 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-5995
125 ((void *)0)
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 5995 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-5995
126 )
!EVP_DigestIni... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 5995 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-5995
127 || !EVP_DigestUpdate(ctx, Ai, u)
!EVP_DigestUpdate(ctx, Ai, u)Description
TRUEnever evaluated
FALSEevaluated 5995 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-5995
128 || !EVP_DigestFinal_ex(ctx, Ai,
!EVP_DigestFin... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 5995 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-5995
129 ((void *)0)
!EVP_DigestFin... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 5995 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-5995
130 )
!EVP_DigestFin... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 5995 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-5995
131 goto
never executed: goto err;
err;
never executed: goto err;
0
132 }
executed 5995 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
5995
133 memcpy(out, Ai, ((n) < (u) ? (n) : (u)));-
134 if (u >= n
u >= nDescription
TRUEevaluated 7 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
2-7
135-
136-
137-
138-
139 ret = 1;-
140 goto
executed 7 times by 1 test: goto end;
Executed by:
  • libcrypto.so.1.1
end;
executed 7 times by 1 test: goto end;
Executed by:
  • libcrypto.so.1.1
7
141 }-
142 n -= u;-
143 out += u;-
144 for (j = 0; j < v
j < vDescription
TRUEevaluated 128 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
; j++)
2-128
145 B[j] = Ai[j % u];
executed 128 times by 1 test: B[j] = Ai[j % u];
Executed by:
  • libcrypto.so.1.1
128
146 for (j = 0; j < Ilen
j < IlenDescription
TRUEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
; j += v) {
2-4
147 int k;-
148 unsigned char *Ij = I + j;-
149 uint16_t c = 1;-
150-
151-
152 for (k = v - 1; k >= 0
k >= 0Description
TRUEevaluated 256 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 4 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
; k--) {
4-256
153 c += Ij[k] + B[k];-
154 Ij[k] = (unsigned char)c;-
155 c >>= 8;-
156 }
executed 256 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
256
157 }
executed 4 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
4
158 }
executed 2 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
2
159-
160 err:
code before this statement never executed: err:
0
161 ERR_put_error(35,(111),((1|64)),__FILE__,165);-
162-
163 end:
code before this statement never executed: end:
0
164 CRYPTO_free(Ai, __FILE__, 168);-
165 CRYPTO_free(B, __FILE__, 169);-
166 CRYPTO_free(D, __FILE__, 170);-
167 CRYPTO_free(I, __FILE__, 171);-
168 EVP_MD_CTX_free(ctx);-
169 return
executed 7 times by 1 test: return ret;
Executed by:
  • libcrypto.so.1.1
ret;
executed 7 times by 1 test: return ret;
Executed by:
  • libcrypto.so.1.1
7
170}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2