OpenCoverage

cbc128.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/modes/cbc128.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7void CRYPTO_cbc128_encrypt(const unsigned char *in, unsigned char *out,-
8 size_t len, const void *key,-
9 unsigned char ivec[16], block128_f block)-
10{-
11 size_t n;-
12 const unsigned char *iv = ivec;-
13-
14 if (len == 0
len == 0Description
TRUEnever evaluated
FALSEevaluated 689 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • modes_internal_test
)
0-689
15 return;
never executed: return;
0
16-
17-
18 if (0 &&-
19 ((
dead code: ((size_t)in | (size_t)out | (size_t)ivec) % sizeof(size_t) != 0
size_t)in | (size_t)out | (size_t)ivec) % sizeof(size_t) != 0
dead code: ((size_t)in | (size_t)out | (size_t)ivec) % sizeof(size_t) != 0
) {
dead code: { while (len >= 16) { for (n = 0; n < 16; ++n) out[n] = in[n] ^ iv[n]; (*block) (out, out, key); iv = out; len -= 16; in += 16; out += 16; } }
-
20 while (len >= 16) {
dead code: { while (len >= 16) { for (n = 0; n < 16; ++n) out[n] = in[n] ^ iv[n]; (*block) (out, out, key); iv = out; len -= 16; in += 16; out += 16; } }
-
21 for (n = 0; n < 16; ++n)
dead code: { while (len >= 16) { for (n = 0; n < 16; ++n) out[n] = in[n] ^ iv[n]; (*block) (out, out, key); iv = out; len -= 16; in += 16; out += 16; } }
-
22 out[n] = in[n] ^ iv[n];
dead code: { while (len >= 16) { for (n = 0; n < 16; ++n) out[n] = in[n] ^ iv[n]; (*block) (out, out, key); iv = out; len -= 16; in += 16; out += 16; } }
-
23 (*block) (out, out, key);
dead code: { while (len >= 16) { for (n = 0; n < 16; ++n) out[n] = in[n] ^ iv[n]; (*block) (out, out, key); iv = out; len -= 16; in += 16; out += 16; } }
-
24 iv = out;
dead code: { while (len >= 16) { for (n = 0; n < 16; ++n) out[n] = in[n] ^ iv[n]; (*block) (out, out, key); iv = out; len -= 16; in += 16; out += 16; } }
-
25 len -= 16;
dead code: { while (len >= 16) { for (n = 0; n < 16; ++n) out[n] = in[n] ^ iv[n]; (*block) (out, out, key); iv = out; len -= 16; in += 16; out += 16; } }
-
26 in += 16;
dead code: { while (len >= 16) { for (n = 0; n < 16; ++n) out[n] = in[n] ^ iv[n]; (*block) (out, out, key); iv = out; len -= 16; in += 16; out += 16; } }
-
27 out += 16;
dead code: { while (len >= 16) { for (n = 0; n < 16; ++n) out[n] = in[n] ^ iv[n]; (*block) (out, out, key); iv = out; len -= 16; in += 16; out += 16; } }
-
28 }
dead code: { while (len >= 16) { for (n = 0; n < 16; ++n) out[n] = in[n] ^ iv[n]; (*block) (out, out, key); iv = out; len -= 16; in += 16; out += 16; } }
-
29 }
dead code: { while (len >= 16) { for (n = 0; n < 16; ++n) out[n] = in[n] ^ iv[n]; (*block) (out, out, key); iv = out; len -= 16; in += 16; out += 16; } }
else {
-
30 while (len >= 16
len >= 16Description
TRUEevaluated 3825 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • modes_internal_test
FALSEevaluated 689 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • modes_internal_test
) {
689-3825
31 for (n = 0; n < 16
n < 16Description
TRUEevaluated 7650 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • modes_internal_test
FALSEevaluated 3825 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • modes_internal_test
; n += sizeof(size_t))
3825-7650
32 *(
executed 7650 times by 2 tests: *(size_t *)(out + n) = *(size_t *)(in + n) ^ *(size_t *)(iv + n);
Executed by:
  • libcrypto.so.1.1
  • modes_internal_test
size_t *)(out + n) =
executed 7650 times by 2 tests: *(size_t *)(out + n) = *(size_t *)(in + n) ^ *(size_t *)(iv + n);
Executed by:
  • libcrypto.so.1.1
  • modes_internal_test
7650
33 *(size_t *)(in + n) ^ *(size_t *)(iv + n);
executed 7650 times by 2 tests: *(size_t *)(out + n) = *(size_t *)(in + n) ^ *(size_t *)(iv + n);
Executed by:
  • libcrypto.so.1.1
  • modes_internal_test
7650
34 (*block) (out, out, key);-
35 iv = out;-
36 len -= 16;-
37 in += 16;-
38 out += 16;-
39 }
executed 3825 times by 2 tests: end of block
Executed by:
  • libcrypto.so.1.1
  • modes_internal_test
3825
40 }
executed 689 times by 2 tests: end of block
Executed by:
  • libcrypto.so.1.1
  • modes_internal_test
689
41-
42 while (len
lenDescription
TRUEnever evaluated
FALSEevaluated 689 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • modes_internal_test
) {
0-689
43 for (n = 0; n < 16
n < 16Description
TRUEnever evaluated
FALSEnever evaluated
&& n < len
n < lenDescription
TRUEnever evaluated
FALSEnever evaluated
; ++n)
0
44 out[n] = in[n] ^ iv[n];
never executed: out[n] = in[n] ^ iv[n];
0
45 for (; n < 16
n < 16Description
TRUEnever evaluated
FALSEnever evaluated
; ++n)
0
46 out[n] = iv[n];
never executed: out[n] = iv[n];
0
47 (*block) (out, out, key);-
48 iv = out;-
49 if (len <= 16
len <= 16Description
TRUEnever evaluated
FALSEnever evaluated
)
0
50 break;
never executed: break;
0
51 len -= 16;-
52 in += 16;-
53 out += 16;-
54 }
never executed: end of block
0
55 memcpy(ivec, iv, 16);-
56}
executed 689 times by 2 tests: end of block
Executed by:
  • libcrypto.so.1.1
  • modes_internal_test
689
57-
58void CRYPTO_cbc128_decrypt(const unsigned char *in, unsigned char *out,-
59 size_t len, const void *key,-
60 unsigned char ivec[16], block128_f block)-
61{-
62 size_t n;-
63 union {-
64 size_t t[16 / sizeof(size_t)];-
65 unsigned char c[16];-
66 } tmp;-
67-
68 if (len == 0
len == 0Description
TRUEnever evaluated
FALSEevaluated 473 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • modes_internal_test
)
0-473
69 return;
never executed: return;
0
70-
71-
72 if (in != out
in != outDescription
TRUEevaluated 417 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • modes_internal_test
FALSEevaluated 56 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
56-417
73 const unsigned char *iv = ivec;-
74-
75 if (0 &&-
76 ((
dead code: ((size_t)in | (size_t)out | (size_t)ivec) % sizeof(size_t) != 0
size_t)in | (size_t)out | (size_t)ivec) % sizeof(size_t) != 0
dead code: ((size_t)in | (size_t)out | (size_t)ivec) % sizeof(size_t) != 0
) {
dead code: { while (len >= 16) { (*block) (in, out, key); for (n = 0; n < 16; ++n) out[n] ^= iv[n]; iv = in; len -= 16; in += 16; out += 16; } }
-
77 while (len >= 16) {
dead code: { while (len >= 16) { (*block) (in, out, key); for (n = 0; n < 16; ++n) out[n] ^= iv[n]; iv = in; len -= 16; in += 16; out += 16; } }
-
78 (*block) (in, out, key);
dead code: { while (len >= 16) { (*block) (in, out, key); for (n = 0; n < 16; ++n) out[n] ^= iv[n]; iv = in; len -= 16; in += 16; out += 16; } }
-
79 for (n = 0; n < 16; ++n)
dead code: { while (len >= 16) { (*block) (in, out, key); for (n = 0; n < 16; ++n) out[n] ^= iv[n]; iv = in; len -= 16; in += 16; out += 16; } }
-
80 out[n] ^= iv[n];
dead code: { while (len >= 16) { (*block) (in, out, key); for (n = 0; n < 16; ++n) out[n] ^= iv[n]; iv = in; len -= 16; in += 16; out += 16; } }
-
81 iv = in;
dead code: { while (len >= 16) { (*block) (in, out, key); for (n = 0; n < 16; ++n) out[n] ^= iv[n]; iv = in; len -= 16; in += 16; out += 16; } }
-
82 len -= 16;
dead code: { while (len >= 16) { (*block) (in, out, key); for (n = 0; n < 16; ++n) out[n] ^= iv[n]; iv = in; len -= 16; in += 16; out += 16; } }
-
83 in += 16;
dead code: { while (len >= 16) { (*block) (in, out, key); for (n = 0; n < 16; ++n) out[n] ^= iv[n]; iv = in; len -= 16; in += 16; out += 16; } }
-
84 out += 16;
dead code: { while (len >= 16) { (*block) (in, out, key); for (n = 0; n < 16; ++n) out[n] ^= iv[n]; iv = in; len -= 16; in += 16; out += 16; } }
-
85 }
dead code: { while (len >= 16) { (*block) (in, out, key); for (n = 0; n < 16; ++n) out[n] ^= iv[n]; iv = in; len -= 16; in += 16; out += 16; } }
-
86 }
dead code: { while (len >= 16) { (*block) (in, out, key); for (n = 0; n < 16; ++n) out[n] ^= iv[n]; iv = in; len -= 16; in += 16; out += 16; } }
else if (16 % sizeof(size_t) == 0
16 % sizeof(size_t) == 0Description
TRUEevaluated 417 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • modes_internal_test
FALSEnever evaluated
) {
-
87 while (len >= 16
len >= 16Description
TRUEevaluated 3136 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • modes_internal_test
FALSEevaluated 417 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • modes_internal_test
) {
417-3136
88 size_t *out_t = (size_t *)out, *iv_t = (size_t *)iv;-
89-
90 (*block) (in, out, key);-
91 for (n = 0; n < 16 / sizeof(size_t)
n < 16 / sizeof(size_t)Description
TRUEevaluated 6272 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • modes_internal_test
FALSEevaluated 3136 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • modes_internal_test
; n++)
3136-6272
92 out_t[n] ^= iv_t[n];
executed 6272 times by 2 tests: out_t[n] ^= iv_t[n];
Executed by:
  • libcrypto.so.1.1
  • modes_internal_test
6272
93 iv = in;-
94 len -= 16;-
95 in += 16;-
96 out += 16;-
97 }
executed 3136 times by 2 tests: end of block
Executed by:
  • libcrypto.so.1.1
  • modes_internal_test
3136
98 }
executed 417 times by 2 tests: end of block
Executed by:
  • libcrypto.so.1.1
  • modes_internal_test
417
99 memcpy(ivec, iv, 16);-
100 }
executed 417 times by 2 tests: end of block
Executed by:
  • libcrypto.so.1.1
  • modes_internal_test
else {
417
101 if (0 &&-
102 ((
dead code: ((size_t)in | (size_t)out | (size_t)ivec) % sizeof(size_t) != 0
size_t)in | (size_t)out | (size_t)ivec) % sizeof(size_t) != 0
dead code: ((size_t)in | (size_t)out | (size_t)ivec) % sizeof(size_t) != 0
) {
dead code: { unsigned char c; while (len >= 16) { (*block) (in, tmp.c, key); for (n = 0; n < 16; ++n) { c = in[n]; out[n] = tmp.c[n] ^ ivec[n]; ivec[n] = c; } len -= 16; in += 16; out += 16; } }
-
103 unsigned char c;
dead code: { unsigned char c; while (len >= 16) { (*block) (in, tmp.c, key); for (n = 0; n < 16; ++n) { c = in[n]; out[n] = tmp.c[n] ^ ivec[n]; ivec[n] = c; } len -= 16; in += 16; out += 16; } }
-
104 while (len >= 16) {
dead code: { unsigned char c; while (len >= 16) { (*block) (in, tmp.c, key); for (n = 0; n < 16; ++n) { c = in[n]; out[n] = tmp.c[n] ^ ivec[n]; ivec[n] = c; } len -= 16; in += 16; out += 16; } }
-
105 (*block) (in, tmp.c, key);
dead code: { unsigned char c; while (len >= 16) { (*block) (in, tmp.c, key); for (n = 0; n < 16; ++n) { c = in[n]; out[n] = tmp.c[n] ^ ivec[n]; ivec[n] = c; } len -= 16; in += 16; out += 16; } }
-
106 for (n = 0; n < 16; ++n) {
dead code: { unsigned char c; while (len >= 16) { (*block) (in, tmp.c, key); for (n = 0; n < 16; ++n) { c = in[n]; out[n] = tmp.c[n] ^ ivec[n]; ivec[n] = c; } len -= 16; in += 16; out += 16; } }
-
107 c = in[n];
dead code: { unsigned char c; while (len >= 16) { (*block) (in, tmp.c, key); for (n = 0; n < 16; ++n) { c = in[n]; out[n] = tmp.c[n] ^ ivec[n]; ivec[n] = c; } len -= 16; in += 16; out += 16; } }
-
108 out[n] = tmp.c[n] ^ ivec[n];
dead code: { unsigned char c; while (len >= 16) { (*block) (in, tmp.c, key); for (n = 0; n < 16; ++n) { c = in[n]; out[n] = tmp.c[n] ^ ivec[n]; ivec[n] = c; } len -= 16; in += 16; out += 16; } }
-
109 ivec[n] = c;
dead code: { unsigned char c; while (len >= 16) { (*block) (in, tmp.c, key); for (n = 0; n < 16; ++n) { c = in[n]; out[n] = tmp.c[n] ^ ivec[n]; ivec[n] = c; } len -= 16; in += 16; out += 16; } }
-
110 }
dead code: { unsigned char c; while (len >= 16) { (*block) (in, tmp.c, key); for (n = 0; n < 16; ++n) { c = in[n]; out[n] = tmp.c[n] ^ ivec[n]; ivec[n] = c; } len -= 16; in += 16; out += 16; } }
-
111 len -= 16;
dead code: { unsigned char c; while (len >= 16) { (*block) (in, tmp.c, key); for (n = 0; n < 16; ++n) { c = in[n]; out[n] = tmp.c[n] ^ ivec[n]; ivec[n] = c; } len -= 16; in += 16; out += 16; } }
-
112 in += 16;
dead code: { unsigned char c; while (len >= 16) { (*block) (in, tmp.c, key); for (n = 0; n < 16; ++n) { c = in[n]; out[n] = tmp.c[n] ^ ivec[n]; ivec[n] = c; } len -= 16; in += 16; out += 16; } }
-
113 out += 16;
dead code: { unsigned char c; while (len >= 16) { (*block) (in, tmp.c, key); for (n = 0; n < 16; ++n) { c = in[n]; out[n] = tmp.c[n] ^ ivec[n]; ivec[n] = c; } len -= 16; in += 16; out += 16; } }
-
114 }
dead code: { unsigned char c; while (len >= 16) { (*block) (in, tmp.c, key); for (n = 0; n < 16; ++n) { c = in[n]; out[n] = tmp.c[n] ^ ivec[n]; ivec[n] = c; } len -= 16; in += 16; out += 16; } }
-
115 }
dead code: { unsigned char c; while (len >= 16) { (*block) (in, tmp.c, key); for (n = 0; n < 16; ++n) { c = in[n]; out[n] = tmp.c[n] ^ ivec[n]; ivec[n] = c; } len -= 16; in += 16; out += 16; } }
else if (16 % sizeof(size_t) == 0
16 % sizeof(size_t) == 0Description
TRUEevaluated 56 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
) {
-
116 while (len >= 16
len >= 16Description
TRUEevaluated 814 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 56 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
56-814
117 size_t c, *out_t = (size_t *)out, *ivec_t = (size_t *)ivec;-
118 const size_t *in_t = (const size_t *)in;-
119-
120 (*block) (in, tmp.c, key);-
121 for (n = 0; n < 16 / sizeof(size_t)
n < 16 / sizeof(size_t)Description
TRUEevaluated 1628 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 814 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
; n++) {
814-1628
122 c = in_t[n];-
123 out_t[n] = tmp.t[n] ^ ivec_t[n];-
124 ivec_t[n] = c;-
125 }
executed 1628 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
1628
126 len -= 16;-
127 in += 16;-
128 out += 16;-
129 }
executed 814 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
814
130 }
executed 56 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
56
131 }
executed 56 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
56
132-
133 while (len
lenDescription
TRUEnever evaluated
FALSEevaluated 473 times by 2 tests
Evaluated by:
  • libcrypto.so.1.1
  • modes_internal_test
) {
0-473
134 unsigned char c;-
135 (*block) (in, tmp.c, key);-
136 for (n = 0; n < 16
n < 16Description
TRUEnever evaluated
FALSEnever evaluated
&& n < len
n < lenDescription
TRUEnever evaluated
FALSEnever evaluated
; ++n) {
0
137 c = in[n];-
138 out[n] = tmp.c[n] ^ ivec[n];-
139 ivec[n] = c;-
140 }
never executed: end of block
0
141 if (len <= 16
len <= 16Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
142 for (; n < 16
n < 16Description
TRUEnever evaluated
FALSEnever evaluated
; ++n)
0
143 ivec[n] = in[n];
never executed: ivec[n] = in[n];
0
144 break;
never executed: break;
0
145 }-
146 len -= 16;-
147 in += 16;-
148 out += 16;-
149 }
never executed: end of block
0
150}
executed 473 times by 2 tests: end of block
Executed by:
  • libcrypto.so.1.1
  • modes_internal_test
473
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2