Branch Coverage

inc/CryptX_Mac_KMAC.xs.inc
Criterion Covered Total %
branch 73 136 53.6


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)); }