Branch Coverage

inc/CryptX_PK_DH.xs.inc
Criterion Covered Total %
branch 73 148 49.3


line true false branch
11 0 46 if (!RETVAL) croak("FATAL: Newz failed");
15 0 46 if (RETVAL->pindex == -1) {
21 0 46 if (rv != CRYPT_OK) {
36 0 2 if (self->key.type != -1) { dh_free(&self->key); self->key.type = -1; }
38 0 2 if (rv != CRYPT_OK) croak("FATAL: dh_set_pg_groupsize failed: %s", error_to_string(rv));
40 0 2 if (rv != CRYPT_OK) croak("FATAL: dh_generate_key failed: %s", error_to_string(rv));
41 0 2 XPUSHs(ST(0)); /* return self */
52 1 7 if (self->key.type != -1) { dh_free(&self->key); self->key.type = -1; }
54 8 0 if (p && strlen(p) > 0 && g && strlen(g) > 0) {
8 0 if (p && strlen(p) > 0 && g && strlen(g) > 0) {
8 0 if (p && strlen(p) > 0 && g && strlen(g) > 0) {
8 0 if (p && strlen(p) > 0 && g && strlen(g) > 0) {
56 1 7 if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(p) failed: %s", error_to_string(rv));
58 0 7 if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(g) failed: %s", error_to_string(rv));
61 0 7 if (rv != CRYPT_OK) croak("FATAL: dh_set_pg failed: %s", error_to_string(rv));
63 0 7 if (rv != CRYPT_OK) croak("FATAL: dh_generate_key failed: %s", error_to_string(rv));
69 0 7 XPUSHs(ST(0)); /* return self */
80 0 2 if (self->key.type != -1) { dh_free(&self->key); self->key.type = -1; }
84 0 2 if (rv != CRYPT_OK) croak("FATAL: dh_set_pg_dhparam failed: %s", error_to_string(rv));
87 0 2 if (rv != CRYPT_OK) croak("FATAL: dh_generate_key failed: %s", error_to_string(rv));
88 0 2 XPUSHs(ST(0)); /* return self */
100 0 27 if (self->key.type != -1) { dh_free(&self->key); self->key.type = -1; }
102 0 27 if (rv != CRYPT_OK) croak("FATAL: dh_import failed: %s", error_to_string(rv));
103 0 27 XPUSHs(ST(0)); /* return self */
117 0 4 if (self->key.type != -1) { dh_free(&self->key); self->key.type = -1; }
119 4 0 if (p && strlen(p) > 0 && g && strlen(g) > 0) {
4 0 if (p && strlen(p) > 0 && g && strlen(g) > 0) {
4 0 if (p && strlen(p) > 0 && g && strlen(g) > 0) {
4 0 if (p && strlen(p) > 0 && g && strlen(g) > 0) {
121 0 4 if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(p) failed: %s", error_to_string(rv));
123 0 4 if (rv != CRYPT_OK) croak("FATAL: radix_to_bin(g) failed: %s", error_to_string(rv));
126 0 4 if (rv != CRYPT_OK) croak("FATAL: dh_set_pg failed: %s", error_to_string(rv));
128 2 2 if (type == 0) {
131 0 2 if (rv != CRYPT_OK) croak("FATAL: dh_set_key failed: %s", error_to_string(rv));
133 2 0 else if (type == 1) {
136 0 2 if (rv != CRYPT_OK) croak("FATAL: dh_set_key failed: %s", error_to_string(rv));
146 0 4 XPUSHs(ST(0)); /* return self */
152 0 23 if (self->key.type == -1) XSRETURN_UNDEF;
153 4 19 RETVAL = (self->key.type == PK_PRIVATE) ? 1 : 0;
160 0 4 if (self->key.type == -1) XSRETURN_UNDEF;
173 0 3 if (self->key.type == -1) XSRETURN_UNDEF;
176 3 0 siz = (self->key.x) ? mp_ubin_size(self->key.x) : 0;
177 0 3 if (siz>10000) {
180 3 0 if (siz>0) {
188 3 0 siz = (self->key.y) ? mp_ubin_size(self->key.y) : 0;
189 0 3 if (siz>10000) {
192 3 0 if (siz>0) {
200 3 0 siz = (self->key.prime) ? mp_ubin_size(self->key.prime) : 0;
201 0 3 if (siz>10000) {
204 3 0 if (siz>0) {
213 3 0 siz = (self->key.base) ? mp_ubin_size(self->key.base) : 0;
214 0 3 if (siz>10000) {
217 3 0 if (siz>0) {
241 0 0 if (self->key.type == -1) XSRETURN_UNDEF;
244 0 0 siz = (self->key.prime) ? mp_ubin_size(self->key.prime) : 0;
245 0 0 if (siz>10000) {
248 0 0 if (siz>0) {
257 0 0 siz = (self->key.base) ? mp_ubin_size(self->key.base) : 0;
258 0 0 if (siz>10000) {
261 0 0 if (siz>0) {
268 0 0 if (not_used) not_used = NULL; /* just silence the warning: variable 'not_used' set but not used */
282 7 7 if (strEQ(type, "private")) {
284 0 7 if (rv != CRYPT_OK) croak("FATAL: dh_export(PK_PRIVATE) failed: %s", error_to_string(rv));
287 7 0 else if (strEQ(type, "public")) {
289 0 7 if (rv != CRYPT_OK) croak("FATAL: dh_export(PK_PUBLIC) failed: %s", error_to_string(rv));
309 0 10 if (rv != CRYPT_OK) croak("FATAL: dh_shared_secret failed: %s", error_to_string(rv));
325 1 4 if (strEQ(type, "private")) {
327 0 1 if (rv != CRYPT_OK) croak("FATAL: dh_export_key(PK_PRIVATE) failed: %s", error_to_string(rv));
330 4 0 else if (strEQ(type, "public")) {
332 0 4 if (rv != CRYPT_OK) croak("FATAL: dh_export_key(PK_PUBLIC) failed: %s", error_to_string(rv));
346 41 5 if (self->key.type != -1) { dh_free(&self->key); self->key.type = -1; }
347 46 0 if (self->pindex >= 0 && prng_is_valid(self->pindex) == CRYPT_OK && prng_descriptor[self->pindex].done) {
46 0 if (self->pindex >= 0 && prng_is_valid(self->pindex) == CRYPT_OK && prng_descriptor[self->pindex].done) {
46 0 if (self->pindex >= 0 && prng_is_valid(self->pindex) == CRYPT_OK && prng_descriptor[self->pindex].done) {