OpenCoverage

aes_ige.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/aes/aes_ige.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4typedef struct {-
5 unsigned long data[(16 / sizeof(unsigned long))];-
6} aes_block_t;-
7void-
8AES_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
1 == encDescription
TRUEevaluated 11 times by 1 test
Evaluated by:
  • igetest
FALSEevaluated 10 times by 1 test
Evaluated by:
  • igetest
) {
10-11
19 if (in != out
in != outDescription
TRUEevaluated 10 times by 1 test
Evaluated by:
  • igetest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • igetest
&& (1 ||
1-10
20 ((
dead code: ((size_t)in|(size_t)out|(size_t)ivec) % sizeof(long) == 0
size_t)in|(size_t)out|(size_t)ivec) %
dead 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
lenDescription
TRUEevaluated 2586 times by 1 test
Evaluated by:
  • igetest
FALSEevaluated 10 times by 1 test
Evaluated by:
  • igetest
) {
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))
n < (16 / size...nsigned long))Description
TRUEevaluated 5172 times by 1 test
Evaluated by:
  • igetest
FALSEevaluated 2586 times by 1 test
Evaluated by:
  • igetest
; ++n)
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:
  • igetest
5172
31 AES_encrypt((unsigned char *)outp->data, (unsigned char *)outp->data, key);-
32 for (n = 0; n < (16 / sizeof(unsigned long))
n < (16 / size...nsigned long))Description
TRUEevaluated 5172 times by 1 test
Evaluated by:
  • igetest
FALSEevaluated 2586 times by 1 test
Evaluated by:
  • igetest
; ++n)
2586-5172
33 outp->data[n] ^= iv2p->data[n];
executed 5172 times by 1 test: outp->data[n] ^= iv2p->data[n];
Executed by:
  • igetest
5172
34 ivp = outp;-
35 iv2p = inp;-
36 --len;-
37 in += 16;-
38 out += 16;-
39 }
executed 2586 times by 1 test: end of block
Executed by:
  • igetest
2586
40 memcpy(ivec, ivp->data, 16);-
41 memcpy(ivec + 16, iv2p->data, 16);-
42 }
executed 10 times by 1 test: end of block
Executed by:
  • igetest
else {
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
lenDescription
TRUEevaluated 2 times by 1 test
Evaluated by:
  • igetest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • igetest
) {
1-2
51 (tmp) = *(const aes_block_t *)(in);-
52 for (n = 0; n < (16 / sizeof(unsigned long))
n < (16 / size...nsigned long))Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • igetest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • igetest
; ++n)
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:
  • igetest
4
54 AES_encrypt((unsigned char *)tmp2.data,-
55 (unsigned char *)tmp2.data, key);-
56 for (n = 0; n < (16 / sizeof(unsigned long))
n < (16 / size...nsigned long))Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • igetest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • igetest
; ++n)
2-4
57 tmp2.data[n] ^= iv2.data[n];
executed 4 times by 1 test: tmp2.data[n] ^= iv2.data[n];
Executed by:
  • igetest
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 block
Executed by:
  • igetest
2
65 memcpy(ivec, iv.data, 16);-
66 memcpy(ivec + 16, iv2.data, 16);-
67 }
executed 1 time by 1 test: end of block
Executed by:
  • igetest
1
68 } else {-
69 if (in != out
in != outDescription
TRUEevaluated 9 times by 1 test
Evaluated by:
  • igetest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • igetest
&& (1 ||
1-9
70 ((
dead code: ((size_t)in|(size_t)out|(size_t)ivec) % sizeof(long) == 0
size_t)in|(size_t)out|(size_t)ivec) %
dead 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
lenDescription
TRUEevaluated 2586 times by 1 test
Evaluated by:
  • igetest
FALSEevaluated 9 times by 1 test
Evaluated by:
  • igetest
) {
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))
n < (16 / size...nsigned long))Description
TRUEevaluated 5172 times by 1 test
Evaluated by:
  • igetest
FALSEevaluated 2586 times by 1 test
Evaluated by:
  • igetest
; ++n)
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:
  • igetest
5172
82 AES_decrypt((unsigned char *)tmp.data,-
83 (unsigned char *)outp->data, key);-
84 for (n = 0; n < (16 / sizeof(unsigned long))
n < (16 / size...nsigned long))Description
TRUEevaluated 5172 times by 1 test
Evaluated by:
  • igetest
FALSEevaluated 2586 times by 1 test
Evaluated by:
  • igetest
; ++n)
2586-5172
85 outp->data[n] ^= ivp->data[n];
executed 5172 times by 1 test: outp->data[n] ^= ivp->data[n];
Executed by:
  • igetest
5172
86 ivp = inp;-
87 iv2p = outp;-
88 --len;-
89 in += 16;-
90 out += 16;-
91 }
executed 2586 times by 1 test: end of block
Executed by:
  • igetest
2586
92 memcpy(ivec, ivp->data, 16);-
93 memcpy(ivec + 16, iv2p->data, 16);-
94 }
executed 9 times by 1 test: end of block
Executed by:
  • igetest
else {
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
lenDescription
TRUEevaluated 2 times by 1 test
Evaluated by:
  • igetest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • igetest
) {
1-2
103 (tmp) = *(const aes_block_t *)(in);-
104 tmp2 = tmp;-
105 for (n = 0; n < (16 / sizeof(unsigned long))
n < (16 / size...nsigned long))Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • igetest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • igetest
; ++n)
2-4
106 tmp.data[n] ^= iv2.data[n];
executed 4 times by 1 test: tmp.data[n] ^= iv2.data[n];
Executed by:
  • igetest
4
107 AES_decrypt((unsigned char *)tmp.data,-
108 (unsigned char *)tmp.data, key);-
109 for (n = 0; n < (16 / sizeof(unsigned long))
n < (16 / size...nsigned long))Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • igetest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • igetest
; ++n)
2-4
110 tmp.data[n] ^= iv.data[n];
executed 4 times by 1 test: tmp.data[n] ^= iv.data[n];
Executed by:
  • igetest
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 block
Executed by:
  • igetest
2
118 memcpy(ivec, iv.data, 16);-
119 memcpy(ivec + 16, iv2.data, 16);-
120 }
executed 1 time by 1 test: end of block
Executed by:
  • igetest
1
121 }-
122}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2