| Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/aes/aes_ige.c |
| Switch to Source code | Preprocessed file |
| Line | Source | Count | ||||||
|---|---|---|---|---|---|---|---|---|
| 1 | - | |||||||
| 2 | - | |||||||
| 3 | - | |||||||
| 4 | typedef struct { | - | ||||||
| 5 | unsigned long data[(16 / sizeof(unsigned long))]; | - | ||||||
| 6 | } aes_block_t; | - | ||||||
| 7 | void | - | ||||||
| 8 | AES_ige_encrypt(const unsigned char *in, unsigned char *out, size_t length, | - | ||||||
| 9 | const AES_KEY *key, unsigned char *ivec, const int enc) | - | ||||||
| 10 | { | - | ||||||
| 11 | size_t n; | - | ||||||
| 12 | size_t len; | - | ||||||
| 13 | - | |||||||
| 14 | (void)(((length % 16) == 0) ? 0 : (OpenSSLDie(__FILE__, 86, "(length % AES_BLOCK_SIZE) == 0"),1)); | - | ||||||
| 15 | - | |||||||
| 16 | len = length / 16; | - | ||||||
| 17 | - | |||||||
| 18 | if (1 == enc
| 10-11 | ||||||
| 19 | if (in != out
| 1-10 | ||||||
| 20 | (( dead code: size_t)in|(size_t)out|(size_t)ivec) %((size_t)in|(size_t)out|(size_t)ivec) % sizeof(long) == 0dead code: ((size_t)in|(size_t)out|(size_t)ivec) % sizeof(long) == 0 | - | ||||||
| 21 | sizeof(long) == 0 dead code: )) {((size_t)in|(size_t)out|(size_t)ivec) % sizeof(long) == 0 | - | ||||||
| 22 | aes_block_t *ivp = (aes_block_t *)ivec; | - | ||||||
| 23 | aes_block_t *iv2p = (aes_block_t *)(ivec + 16); | - | ||||||
| 24 | - | |||||||
| 25 | while (len
| 10-2586 | ||||||
| 26 | aes_block_t *inp = (aes_block_t *)in; | - | ||||||
| 27 | aes_block_t *outp = (aes_block_t *)out; | - | ||||||
| 28 | - | |||||||
| 29 | for (n = 0; n < (16 / sizeof(unsigned long))
| 2586-5172 | ||||||
| 30 | outp->data[n] = inp->data[n] ^ ivp->data[n]; executed 5172 times by 1 test: outp->data[n] = inp->data[n] ^ ivp->data[n];Executed by:
| 5172 | ||||||
| 31 | AES_encrypt((unsigned char *)outp->data, (unsigned char *)outp->data, key); | - | ||||||
| 32 | for (n = 0; n < (16 / sizeof(unsigned long))
| 2586-5172 | ||||||
| 33 | outp->data[n] ^= iv2p->data[n]; executed 5172 times by 1 test: outp->data[n] ^= iv2p->data[n];Executed by:
| 5172 | ||||||
| 34 | ivp = outp; | - | ||||||
| 35 | iv2p = inp; | - | ||||||
| 36 | --len; | - | ||||||
| 37 | in += 16; | - | ||||||
| 38 | out += 16; | - | ||||||
| 39 | } executed 2586 times by 1 test: end of blockExecuted by:
| 2586 | ||||||
| 40 | memcpy(ivec, ivp->data, 16); | - | ||||||
| 41 | memcpy(ivec + 16, iv2p->data, 16); | - | ||||||
| 42 | } executed 10 times by 1 test: else {end of blockExecuted by:
| 10 | ||||||
| 43 | aes_block_t tmp, tmp2; | - | ||||||
| 44 | aes_block_t iv; | - | ||||||
| 45 | aes_block_t iv2; | - | ||||||
| 46 | - | |||||||
| 47 | (iv) = *(const aes_block_t *)(ivec); | - | ||||||
| 48 | (iv2) = *(const aes_block_t *)(ivec + 16); | - | ||||||
| 49 | - | |||||||
| 50 | while (len
| 1-2 | ||||||
| 51 | (tmp) = *(const aes_block_t *)(in); | - | ||||||
| 52 | for (n = 0; n < (16 / sizeof(unsigned long))
| 2-4 | ||||||
| 53 | tmp2.data[n] = tmp.data[n] ^ iv.data[n]; executed 4 times by 1 test: tmp2.data[n] = tmp.data[n] ^ iv.data[n];Executed by:
| 4 | ||||||
| 54 | AES_encrypt((unsigned char *)tmp2.data, | - | ||||||
| 55 | (unsigned char *)tmp2.data, key); | - | ||||||
| 56 | for (n = 0; n < (16 / sizeof(unsigned long))
| 2-4 | ||||||
| 57 | tmp2.data[n] ^= iv2.data[n]; executed 4 times by 1 test: tmp2.data[n] ^= iv2.data[n];Executed by:
| 4 | ||||||
| 58 | *(aes_block_t *)(out) = (tmp2); | - | ||||||
| 59 | iv = tmp2; | - | ||||||
| 60 | iv2 = tmp; | - | ||||||
| 61 | --len; | - | ||||||
| 62 | in += 16; | - | ||||||
| 63 | out += 16; | - | ||||||
| 64 | } executed 2 times by 1 test: end of blockExecuted by:
| 2 | ||||||
| 65 | memcpy(ivec, iv.data, 16); | - | ||||||
| 66 | memcpy(ivec + 16, iv2.data, 16); | - | ||||||
| 67 | } executed 1 time by 1 test: end of blockExecuted by:
| 1 | ||||||
| 68 | } else { | - | ||||||
| 69 | if (in != out
| 1-9 | ||||||
| 70 | (( dead code: size_t)in|(size_t)out|(size_t)ivec) %((size_t)in|(size_t)out|(size_t)ivec) % sizeof(long) == 0dead code: ((size_t)in|(size_t)out|(size_t)ivec) % sizeof(long) == 0 | - | ||||||
| 71 | sizeof(long) == 0 dead code: )) {((size_t)in|(size_t)out|(size_t)ivec) % sizeof(long) == 0 | - | ||||||
| 72 | aes_block_t *ivp = (aes_block_t *)ivec; | - | ||||||
| 73 | aes_block_t *iv2p = (aes_block_t *)(ivec + 16); | - | ||||||
| 74 | - | |||||||
| 75 | while (len
| 9-2586 | ||||||
| 76 | aes_block_t tmp; | - | ||||||
| 77 | aes_block_t *inp = (aes_block_t *)in; | - | ||||||
| 78 | aes_block_t *outp = (aes_block_t *)out; | - | ||||||
| 79 | - | |||||||
| 80 | for (n = 0; n < (16 / sizeof(unsigned long))
| 2586-5172 | ||||||
| 81 | tmp.data[n] = inp->data[n] ^ iv2p->data[n]; executed 5172 times by 1 test: tmp.data[n] = inp->data[n] ^ iv2p->data[n];Executed by:
| 5172 | ||||||
| 82 | AES_decrypt((unsigned char *)tmp.data, | - | ||||||
| 83 | (unsigned char *)outp->data, key); | - | ||||||
| 84 | for (n = 0; n < (16 / sizeof(unsigned long))
| 2586-5172 | ||||||
| 85 | outp->data[n] ^= ivp->data[n]; executed 5172 times by 1 test: outp->data[n] ^= ivp->data[n];Executed by:
| 5172 | ||||||
| 86 | ivp = inp; | - | ||||||
| 87 | iv2p = outp; | - | ||||||
| 88 | --len; | - | ||||||
| 89 | in += 16; | - | ||||||
| 90 | out += 16; | - | ||||||
| 91 | } executed 2586 times by 1 test: end of blockExecuted by:
| 2586 | ||||||
| 92 | memcpy(ivec, ivp->data, 16); | - | ||||||
| 93 | memcpy(ivec + 16, iv2p->data, 16); | - | ||||||
| 94 | } executed 9 times by 1 test: else {end of blockExecuted by:
| 9 | ||||||
| 95 | aes_block_t tmp, tmp2; | - | ||||||
| 96 | aes_block_t iv; | - | ||||||
| 97 | aes_block_t iv2; | - | ||||||
| 98 | - | |||||||
| 99 | (iv) = *(const aes_block_t *)(ivec); | - | ||||||
| 100 | (iv2) = *(const aes_block_t *)(ivec + 16); | - | ||||||
| 101 | - | |||||||
| 102 | while (len
| 1-2 | ||||||
| 103 | (tmp) = *(const aes_block_t *)(in); | - | ||||||
| 104 | tmp2 = tmp; | - | ||||||
| 105 | for (n = 0; n < (16 / sizeof(unsigned long))
| 2-4 | ||||||
| 106 | tmp.data[n] ^= iv2.data[n]; executed 4 times by 1 test: tmp.data[n] ^= iv2.data[n];Executed by:
| 4 | ||||||
| 107 | AES_decrypt((unsigned char *)tmp.data, | - | ||||||
| 108 | (unsigned char *)tmp.data, key); | - | ||||||
| 109 | for (n = 0; n < (16 / sizeof(unsigned long))
| 2-4 | ||||||
| 110 | tmp.data[n] ^= iv.data[n]; executed 4 times by 1 test: tmp.data[n] ^= iv.data[n];Executed by:
| 4 | ||||||
| 111 | *(aes_block_t *)(out) = (tmp); | - | ||||||
| 112 | iv = tmp2; | - | ||||||
| 113 | iv2 = tmp; | - | ||||||
| 114 | --len; | - | ||||||
| 115 | in += 16; | - | ||||||
| 116 | out += 16; | - | ||||||
| 117 | } executed 2 times by 1 test: end of blockExecuted by:
| 2 | ||||||
| 118 | memcpy(ivec, iv.data, 16); | - | ||||||
| 119 | memcpy(ivec + 16, iv2.data, 16); | - | ||||||
| 120 | } executed 1 time by 1 test: end of blockExecuted by:
| 1 | ||||||
| 121 | } | - | ||||||
| 122 | } | - | ||||||
| Switch to Source code | Preprocessed file |