Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/modes/cbc128.c |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | void CRYPTO_cbc128_encrypt(const unsigned char *in, unsigned char *out, | - | ||||||||||||
2 | size_t len, const void *key, | - | ||||||||||||
3 | unsigned char ivec[16], block128_f block) | - | ||||||||||||
4 | { | - | ||||||||||||
5 | size_t n; | - | ||||||||||||
6 | const unsigned char *iv = ivec; | - | ||||||||||||
7 | - | |||||||||||||
8 | - | |||||||||||||
9 | if (0 && | - | ||||||||||||
10 | (( 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; } } | - | ||||||||||||
11 | 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; } } | - | ||||||||||||
12 | 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; } } | - | ||||||||||||
13 | 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; } } | - | ||||||||||||
14 | (*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; } } | - | ||||||||||||
15 | 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; } } | - | ||||||||||||
16 | 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; } } | - | ||||||||||||
17 | 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; } } | - | ||||||||||||
18 | 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; } } | - | ||||||||||||
19 | } 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 | } dead code: else {{ 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 | while (len>=16
| 12-23 | ||||||||||||
22 | for(n=0; n<16
| 23-46 | ||||||||||||
23 | *( executed 46 times by 1 test: size_t*)(out+n) =*(size_t*)(out+n) = *(size_t*)(in+n) ^ *(size_t*)(iv+n); Executed by:
executed 46 times by 1 test: *(size_t*)(out+n) = *(size_t*)(in+n) ^ *(size_t*)(iv+n); Executed by:
| 46 | ||||||||||||
24 | *(size_t*)(in+n) ^ *(size_t*)(iv+n); executed 46 times by 1 test: *(size_t*)(out+n) = *(size_t*)(in+n) ^ *(size_t*)(iv+n); Executed by:
| 46 | ||||||||||||
25 | (*block)(out, out, key); | - | ||||||||||||
26 | iv = out; | - | ||||||||||||
27 | len -= 16; | - | ||||||||||||
28 | in += 16; | - | ||||||||||||
29 | out += 16; | - | ||||||||||||
30 | } executed 23 times by 1 test: end of block Executed by:
| 23 | ||||||||||||
31 | } executed 12 times by 1 test: end of block Executed by:
| 12 | ||||||||||||
32 | - | |||||||||||||
33 | while (len
| 0-12 | ||||||||||||
34 | for(n=0; n<16
| 0 | ||||||||||||
35 | out[n] = in[n] ^ iv[n]; never executed: out[n] = in[n] ^ iv[n]; | 0 | ||||||||||||
36 | for(; n<16
| 0 | ||||||||||||
37 | out[n] = iv[n]; never executed: out[n] = iv[n]; | 0 | ||||||||||||
38 | (*block)(out, out, key); | - | ||||||||||||
39 | iv = out; | - | ||||||||||||
40 | if (len<=16
never executed: break; | 0 | ||||||||||||
41 | len -= 16; | - | ||||||||||||
42 | in += 16; | - | ||||||||||||
43 | out += 16; | - | ||||||||||||
44 | } never executed: end of block | 0 | ||||||||||||
45 | memcpy(ivec,iv,16); | - | ||||||||||||
46 | } executed 12 times by 1 test: end of block Executed by:
| 12 | ||||||||||||
47 | - | |||||||||||||
48 | void CRYPTO_cbc128_decrypt(const unsigned char *in, unsigned char *out, | - | ||||||||||||
49 | size_t len, const void *key, | - | ||||||||||||
50 | unsigned char ivec[16], block128_f block) | - | ||||||||||||
51 | { | - | ||||||||||||
52 | size_t n; | - | ||||||||||||
53 | union { size_t t[16/sizeof(size_t)]; unsigned char c[16]; } tmp; | - | ||||||||||||
54 | - | |||||||||||||
55 | - | |||||||||||||
56 | if (in != out
| 0-7 | ||||||||||||
57 | const unsigned char *iv = ivec; | - | ||||||||||||
58 | - | |||||||||||||
59 | if (0 && | - | ||||||||||||
60 | (( 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; } } | - | ||||||||||||
61 | 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; } } | - | ||||||||||||
62 | (*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; } } | - | ||||||||||||
63 | 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; } } | - | ||||||||||||
64 | 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; } } | - | ||||||||||||
65 | 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; } } | - | ||||||||||||
66 | 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; } } | - | ||||||||||||
67 | 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; } } | - | ||||||||||||
68 | 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; } } | - | ||||||||||||
69 | } 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; } } | - | ||||||||||||
70 | } dead code: else if (16%sizeof(size_t) == 0{ 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; } }
| - | ||||||||||||
71 | while (len>=16
| 7-14 | ||||||||||||
72 | size_t *out_t=(size_t *)out, *iv_t=(size_t *)iv; | - | ||||||||||||
73 | - | |||||||||||||
74 | (*block)(in, out, key); | - | ||||||||||||
75 | for(n=0; n<16/sizeof(size_t)
| 14-28 | ||||||||||||
76 | out_t[n] ^= iv_t[n]; executed 28 times by 1 test: out_t[n] ^= iv_t[n]; Executed by:
| 28 | ||||||||||||
77 | iv = in; | - | ||||||||||||
78 | len -= 16; | - | ||||||||||||
79 | in += 16; | - | ||||||||||||
80 | out += 16; | - | ||||||||||||
81 | } executed 14 times by 1 test: end of block Executed by:
| 14 | ||||||||||||
82 | } executed 7 times by 1 test: end of block Executed by:
| 7 | ||||||||||||
83 | memcpy(ivec,iv,16); | - | ||||||||||||
84 | } executed 7 times by 1 test: else {end of block Executed by:
| 7 | ||||||||||||
85 | if (0 && | - | ||||||||||||
86 | (( 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; } } | - | ||||||||||||
87 | 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; } } | - | ||||||||||||
88 | 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; } } | - | ||||||||||||
89 | (*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; } } | - | ||||||||||||
90 | 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; } } | - | ||||||||||||
91 | 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; } } | - | ||||||||||||
92 | 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; } } | - | ||||||||||||
93 | 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; } } | - | ||||||||||||
94 | } 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; } } | - | ||||||||||||
95 | 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; } } | - | ||||||||||||
96 | 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; } } | - | ||||||||||||
97 | 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; } } | - | ||||||||||||
98 | } 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; } } | - | ||||||||||||
99 | } dead code: else if (16%sizeof(size_t) == 0{ 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; } }
| - | ||||||||||||
100 | while (len>=16
| 0 | ||||||||||||
101 | size_t c, *out_t=(size_t *)out, *ivec_t=(size_t *)ivec; | - | ||||||||||||
102 | const size_t *in_t=(const size_t *)in; | - | ||||||||||||
103 | - | |||||||||||||
104 | (*block)(in, tmp.c, key); | - | ||||||||||||
105 | for(n=0; n<16/sizeof(size_t)
| 0 | ||||||||||||
106 | c = in_t[n]; | - | ||||||||||||
107 | out_t[n] = tmp.t[n] ^ ivec_t[n]; | - | ||||||||||||
108 | ivec_t[n] = c; | - | ||||||||||||
109 | } never executed: end of block | 0 | ||||||||||||
110 | len -= 16; | - | ||||||||||||
111 | in += 16; | - | ||||||||||||
112 | out += 16; | - | ||||||||||||
113 | } never executed: end of block | 0 | ||||||||||||
114 | } never executed: end of block | 0 | ||||||||||||
115 | } never executed: end of block | 0 | ||||||||||||
116 | - | |||||||||||||
117 | while (len
| 0-7 | ||||||||||||
118 | unsigned char c; | - | ||||||||||||
119 | (*block)(in, tmp.c, key); | - | ||||||||||||
120 | for(n=0; n<16
| 0 | ||||||||||||
121 | c = in[n]; | - | ||||||||||||
122 | out[n] = tmp.c[n] ^ ivec[n]; | - | ||||||||||||
123 | ivec[n] = c; | - | ||||||||||||
124 | } never executed: end of block | 0 | ||||||||||||
125 | if (len<=16
| 0 | ||||||||||||
126 | for (; n<16
| 0 | ||||||||||||
127 | ivec[n] = in[n]; never executed: ivec[n] = in[n]; | 0 | ||||||||||||
128 | break; never executed: break; | 0 | ||||||||||||
129 | } | - | ||||||||||||
130 | len -= 16; | - | ||||||||||||
131 | in += 16; | - | ||||||||||||
132 | out += 16; | - | ||||||||||||
133 | } never executed: end of block | 0 | ||||||||||||
134 | } executed 7 times by 1 test: end of block Executed by:
| 7 | ||||||||||||
Switch to Source code | Preprocessed file |