| line |
true |
false |
branch |
|
16
|
6 |
0 |
if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar"); |
|
|
0 |
6 |
if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar"); |
|
|
0 |
0 |
if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar"); |
|
|
0 |
0 |
if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar"); |
|
|
0 |
0 |
if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar"); |
|
18
|
2 |
4 |
if (cust && SvOK(cust)) { |
|
|
2 |
0 |
if (cust && SvOK(cust)) { |
|
19
|
2 |
0 |
if (!SvPOK_spec(cust)) croak("FATAL: cust must be string/buffer scalar"); |
|
|
0 |
2 |
if (!SvPOK_spec(cust)) croak("FATAL: cust must be string/buffer scalar"); |
|
|
0 |
0 |
if (!SvPOK_spec(cust)) croak("FATAL: cust must be string/buffer scalar"); |
|
|
0 |
0 |
if (!SvPOK_spec(cust)) croak("FATAL: cust must be string/buffer scalar"); |
|
|
0 |
0 |
if (!SvPOK_spec(cust)) croak("FATAL: cust must be string/buffer scalar"); |
|
23
|
4 |
2 |
if (strcmp(variant, "KMAC128") == 0) var = LTC_KMAC128; |
|
24
|
1 |
5 |
if (strcmp(variant, "KMAC256") == 0) var = LTC_KMAC256; |
|
25
|
0 |
6 |
if (strcmp(variant, "KMACXOF128") == 0) var = LTC_KMAC128_XOF; |
|
26
|
0 |
6 |
if (strcmp(variant, "KMACXOF256") == 0) var = LTC_KMAC256_XOF; |
|
27
|
1 |
5 |
if (var == -1) croak("FATAL: unknown KMAC variant '%s'", variant); |
|
30
|
0 |
5 |
if (!RETVAL) croak("FATAL: Newz failed"); |
|
33
|
0 |
5 |
if (rv != CRYPT_OK) { |
|
55
|
0 |
1 |
if (!RETVAL) croak("FATAL: Newz failed"); |
|
68
|
1 |
8 |
if (self->finalized) croak("FATAL: MAC object already finalized"); |
|
69
|
8 |
8 |
for(i = 1; i < items; i++) { |
|
71
|
8 |
0 |
if (in_data_len > 0) { |
|
73
|
0 |
8 |
if (rv != CRYPT_OK) croak("FATAL: kmac_process failed: %s", error_to_string(rv)); |
|
76
|
0 |
8 |
XPUSHs(ST(0)); /* return self */ |
|
92
|
1 |
6 |
if (self->finalized) croak("FATAL: MAC object already finalized"); |
|
93
|
0 |
6 |
if (out_len == 0) croak("FATAL: invalid output length"); |
|
94
|
0 |
6 |
if (out_len > CRYPTX_MAC_KMAC_MAX_OUTPUT_LEN) croak("FATAL: output length too large"); |
|
97
|
0 |
6 |
if (!mac_buf) croak("FATAL: Newz failed"); |
|
100
|
0 |
6 |
if (rv != CRYPT_OK) { |
|
106
|
1 |
5 |
if (ix == 0) { |
|
113
|
0 |
5 |
if (!out) { Safefree(mac_buf); croak("FATAL: Newz failed"); } |
|
115
|
0 |
5 |
if (ix == 3) { |
|
117
|
0 |
0 |
if (rv != CRYPT_OK) { Safefree(mac_buf); Safefree(out); croak("FATAL: base64url_encode failed: %s", error_to_string(rv)); } |
|
119
|
0 |
5 |
else if (ix == 2) { |
|
121
|
0 |
0 |
if (rv != CRYPT_OK) { Safefree(mac_buf); Safefree(out); croak("FATAL: base64_encode failed: %s", error_to_string(rv)); } |
|
125
|
0 |
5 |
if (rv != CRYPT_OK) { Safefree(mac_buf); Safefree(out); croak("FATAL: base16_encode failed: %s", error_to_string(rv)); } |
|
153
|
24 |
0 |
if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar"); |
|
|
0 |
24 |
if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar"); |
|
|
0 |
0 |
if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar"); |
|
|
0 |
0 |
if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar"); |
|
|
0 |
0 |
if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar"); |
|
155
|
24 |
0 |
if (SvOK(cust)) { |
|
156
|
24 |
0 |
if (!SvPOK_spec(cust)) croak("FATAL: cust must be string/buffer scalar"); |
|
|
0 |
24 |
if (!SvPOK_spec(cust)) croak("FATAL: cust must be string/buffer scalar"); |
|
|
0 |
0 |
if (!SvPOK_spec(cust)) croak("FATAL: cust must be string/buffer scalar"); |
|
|
0 |
0 |
if (!SvPOK_spec(cust)) croak("FATAL: cust must be string/buffer scalar"); |
|
|
0 |
0 |
if (!SvPOK_spec(cust)) croak("FATAL: cust must be string/buffer scalar"); |
|
160
|
11 |
13 |
if (strcmp(variant, "KMAC128") == 0) var = LTC_KMAC128; |
|
161
|
2 |
22 |
if (strcmp(variant, "KMAC256") == 0) var = LTC_KMAC256; |
|
162
|
5 |
19 |
if (strcmp(variant, "KMACXOF128") == 0) var = LTC_KMAC128_XOF; |
|
163
|
2 |
22 |
if (strcmp(variant, "KMACXOF256") == 0) var = LTC_KMAC256_XOF; |
|
164
|
4 |
20 |
if (var == -1) croak("FATAL: unknown KMAC variant '%s'", variant); |
|
165
|
1 |
19 |
if (out_len == 0) croak("FATAL: invalid output length"); |
|
166
|
0 |
19 |
if (out_len > CRYPTX_MAC_KMAC_MAX_OUTPUT_LEN) croak("FATAL: output length too large"); |
|
169
|
0 |
19 |
if (rv != CRYPT_OK) croak("FATAL: kmac_init failed: %s", error_to_string(rv)); |
|
170
|
19 |
19 |
for (i = 4; i < items; i++) { |
|
172
|
18 |
1 |
if (inlen > 0) { |
|
174
|
0 |
18 |
if (rv != CRYPT_OK) { zeromem(&st, sizeof(st)); croak("FATAL: kmac_process failed: %s", error_to_string(rv)); } |
|
178
|
0 |
19 |
if (!mac_buf) { zeromem(&st, sizeof(st)); croak("FATAL: Newz failed"); } |
|
182
|
0 |
19 |
if (rv != CRYPT_OK) { Safefree(mac_buf); croak("FATAL: kmac_done failed: %s", error_to_string(rv)); } |
|
184
|
7 |
12 |
if (ix == 0) { |
|
190
|
0 |
12 |
if (!out) { Safefree(mac_buf); croak("FATAL: Newz failed"); } |
|
192
|
1 |
11 |
if (ix == 3) { |
|
194
|
0 |
1 |
if (rv != CRYPT_OK) { Safefree(mac_buf); Safefree(out); croak("FATAL: base64url_encode failed: %s", error_to_string(rv)); } |
|
196
|
1 |
10 |
else if (ix == 2) { |
|
198
|
0 |
1 |
if (rv != CRYPT_OK) { Safefree(mac_buf); Safefree(out); croak("FATAL: base64_encode failed: %s", error_to_string(rv)); } |
|
202
|
0 |
10 |
if (rv != CRYPT_OK) { Safefree(mac_buf); Safefree(out); croak("FATAL: base16_encode failed: %s", error_to_string(rv)); } |