| 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) != 0dead code: ) {((size_t)in|(size_t)out|(size_t)ivec)%sizeof(size_t) != 0dead 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 blockExecuted by:
| 23 | ||||||||||||
| 31 | } executed 12 times by 1 test: end of blockExecuted 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 blockExecuted 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) != 0dead code: ) {((size_t)in|(size_t)out|(size_t)ivec)%sizeof(size_t) != 0dead 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 blockExecuted by:
| 14 | ||||||||||||
| 82 | } executed 7 times by 1 test: end of blockExecuted by:
| 7 | ||||||||||||
| 83 | memcpy(ivec,iv,16); | - | ||||||||||||
| 84 | } executed 7 times by 1 test: else {end of blockExecuted 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) != 0dead code: ) {((size_t)in|(size_t)out|(size_t)ivec)%sizeof(size_t) != 0dead 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 blockExecuted by:
| 7 | ||||||||||||
| Switch to Source code | Preprocessed file |