| line |
true |
false |
branch |
|
19
|
0 |
9 |
if (id == -1) croak("FATAL: find_cipher failed for '%s'", cipher_name); |
|
21
|
9 |
0 |
if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar"); |
|
|
2 |
7 |
if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar"); |
|
|
2 |
0 |
if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar"); |
|
|
1 |
1 |
if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar"); |
|
|
0 |
1 |
if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar"); |
|
23
|
8 |
0 |
if (!SvPOK_spec(plaintext)) croak("FATAL: plaintext must be string/buffer scalar"); |
|
|
1 |
7 |
if (!SvPOK_spec(plaintext)) croak("FATAL: plaintext must be string/buffer scalar"); |
|
|
1 |
0 |
if (!SvPOK_spec(plaintext)) croak("FATAL: plaintext must be string/buffer scalar"); |
|
|
1 |
0 |
if (!SvPOK_spec(plaintext)) croak("FATAL: plaintext must be string/buffer scalar"); |
|
|
0 |
1 |
if (!SvPOK_spec(plaintext)) croak("FATAL: plaintext must be string/buffer scalar"); |
|
26
|
8 |
0 |
if (SvOK(aad)) { |
|
27
|
5 |
3 |
if (SvROK(aad) && SvTYPE(SvRV(aad)) == SVt_PVAV) { |
|
|
4 |
1 |
if (SvROK(aad) && SvTYPE(SvRV(aad)) == SVt_PVAV) { |
|
30
|
132 |
2 |
for (i = 0; i <= alen; i++) { |
|
32
|
132 |
0 |
if (svp && SvOK(*svp)) { |
|
|
132 |
0 |
if (svp && SvOK(*svp)) { |
|
33
|
1 |
131 |
if (n_ad >= 126) croak("FATAL: too many associated data components (max 126)"); |
|
34
|
131 |
0 |
if (!SvPOK_spec(*svp)) croak("FATAL: associated data component must be string/buffer scalar"); |
|
|
2 |
129 |
if (!SvPOK_spec(*svp)) croak("FATAL: associated data component must be string/buffer scalar"); |
|
|
2 |
0 |
if (!SvPOK_spec(*svp)) croak("FATAL: associated data component must be string/buffer scalar"); |
|
|
1 |
1 |
if (!SvPOK_spec(*svp)) croak("FATAL: associated data component must be string/buffer scalar"); |
|
|
0 |
1 |
if (!SvPOK_spec(*svp)) croak("FATAL: associated data component must be string/buffer scalar"); |
|
41
|
4 |
0 |
if (!SvPOK_spec(aad)) croak("FATAL: associated data must be string/buffer scalar or arrayref"); |
|
|
1 |
3 |
if (!SvPOK_spec(aad)) croak("FATAL: associated data must be string/buffer scalar or arrayref"); |
|
|
1 |
0 |
if (!SvPOK_spec(aad)) croak("FATAL: associated data must be string/buffer scalar or arrayref"); |
|
|
1 |
0 |
if (!SvPOK_spec(aad)) croak("FATAL: associated data must be string/buffer scalar or arrayref"); |
|
|
0 |
1 |
if (!SvPOK_spec(aad)) croak("FATAL: associated data must be string/buffer scalar or arrayref"); |
|
48
|
6 |
0 |
RETVAL = NEWSV(0, ct_len > 0 ? ct_len : 1); |
|
58
|
0 |
6 |
if (rv != CRYPT_OK) { |
|
82
|
0 |
6 |
if (id == -1) croak("FATAL: find_cipher failed for '%s'", cipher_name); |
|
84
|
6 |
0 |
if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar"); |
|
|
1 |
5 |
if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar"); |
|
|
1 |
0 |
if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar"); |
|
|
1 |
0 |
if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar"); |
|
|
0 |
1 |
if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar"); |
|
86
|
6 |
0 |
if (!SvPOK_spec(ciphertext)) croak("FATAL: ciphertext must be string/buffer scalar"); |
|
|
2 |
4 |
if (!SvPOK_spec(ciphertext)) croak("FATAL: ciphertext must be string/buffer scalar"); |
|
|
2 |
0 |
if (!SvPOK_spec(ciphertext)) croak("FATAL: ciphertext must be string/buffer scalar"); |
|
|
1 |
1 |
if (!SvPOK_spec(ciphertext)) croak("FATAL: ciphertext must be string/buffer scalar"); |
|
|
0 |
1 |
if (!SvPOK_spec(ciphertext)) croak("FATAL: ciphertext must be string/buffer scalar"); |
|
88
|
0 |
5 |
if (ct_len < 16) croak("FATAL: ciphertext too short"); |
|
90
|
5 |
0 |
if (SvOK(aad)) { |
|
91
|
3 |
2 |
if (SvROK(aad) && SvTYPE(SvRV(aad)) == SVt_PVAV) { |
|
|
2 |
1 |
if (SvROK(aad) && SvTYPE(SvRV(aad)) == SVt_PVAV) { |
|
94
|
130 |
1 |
for (i = 0; i <= alen; i++) { |
|
96
|
130 |
0 |
if (svp && SvOK(*svp)) { |
|
|
130 |
0 |
if (svp && SvOK(*svp)) { |
|
97
|
1 |
129 |
if (n_ad >= 126) croak("FATAL: too many associated data components (max 126)"); |
|
98
|
129 |
0 |
if (!SvPOK_spec(*svp)) croak("FATAL: associated data component must be string/buffer scalar"); |
|
|
0 |
129 |
if (!SvPOK_spec(*svp)) croak("FATAL: associated data component must be string/buffer scalar"); |
|
|
0 |
0 |
if (!SvPOK_spec(*svp)) croak("FATAL: associated data component must be string/buffer scalar"); |
|
|
0 |
0 |
if (!SvPOK_spec(*svp)) croak("FATAL: associated data component must be string/buffer scalar"); |
|
|
0 |
0 |
if (!SvPOK_spec(*svp)) croak("FATAL: associated data component must be string/buffer scalar"); |
|
105
|
3 |
0 |
if (!SvPOK_spec(aad)) croak("FATAL: associated data must be string/buffer scalar or arrayref"); |
|
|
1 |
2 |
if (!SvPOK_spec(aad)) croak("FATAL: associated data must be string/buffer scalar or arrayref"); |
|
|
1 |
0 |
if (!SvPOK_spec(aad)) croak("FATAL: associated data must be string/buffer scalar or arrayref"); |
|
|
1 |
0 |
if (!SvPOK_spec(aad)) croak("FATAL: associated data must be string/buffer scalar or arrayref"); |
|
|
0 |
1 |
if (!SvPOK_spec(aad)) croak("FATAL: associated data must be string/buffer scalar or arrayref"); |
|
112
|
4 |
0 |
output = NEWSV(0, pt_len > 0 ? pt_len : 1); |
|
122
|
1 |
3 |
if (rv != CRYPT_OK) { |
|
124
|
0 |
1 |
XPUSHs(sv_2mortal(newSVpvn(NULL, 0))); /* undef */ |
|
127
|
0 |
3 |
XPUSHs(sv_2mortal(output)); |