Branch Coverage

lib/Crypt/OpenSSL3.xs
Criterion Covered Total %
branch 55 342 16.0


line true false branch
101 0 0 COUNTING_TYPE(EVP_CIPHER, Cipher, Cipher)
0 0 COUNTING_TYPE(EVP_CIPHER, Cipher, Cipher)
114 6 0 DUPLICATING_TYPE(BN, BigNum, BigNum);
0 0 DUPLICATING_TYPE(BN, BigNum, BigNum);
367 0 0 if (algo)
373 0 0 if (algo)
398 12 0 char* ptr = SvGROW(*retval, size);
7 5 char* ptr = SvGROW(*retval, size);
404 1 0 SvUPGRADE(buffer, SVt_PV);
405 0 1 SV_CHECK_THINKFIRST(buffer);
406 1 0 return SvGROW(buffer, size);
1 0 return SvGROW(buffer, size);
417 7 0 if (!SvROK(input) || SvTYPE(SvRV(input)) != SVt_PVHV)
0 7 if (!SvROK(input) || SvTYPE(SvRV(input)) != SVt_PVHV)
428 12 7 while (sv = hv_iternextsv(hash, &name, &name_len)) {
431 11 1 if (found) {
433 0 11 if (found->data_type == OSSL_PARAM_INTEGER) {
434 0 0 if (big = get_BN(aTHX_ sv))
438 6 5 } else if (found->data_type == OSSL_PARAM_UNSIGNED_INTEGER) {
439 0 6 if (big = get_BN(aTHX_ sv))
443 0 5 } else if (found->data_type == OSSL_PARAM_REAL) {
445 4 1 } else if (found->data_type == OSSL_PARAM_UTF8_STRING) {
449 1 0 } else if (found->data_type == OSSL_PARAM_OCTET_STRING) {
465 0 1 if (iter->data_type == OSSL_PARAM_INTEGER) {
466 0 0 if (iter->data_size == 0)
468 0 0 else if (iter->data_size <= IVSIZE) {
478 1 0 else if (iter->data_type == OSSL_PARAM_UNSIGNED_INTEGER) {
479 0 1 if (iter->data_size == 0)
481 1 0 else if (iter->data_size <= UVSIZE) {
491 0 0 else if (iter->data_type == OSSL_PARAM_REAL) {
496 0 0 else if (iter->data_type == OSSL_PARAM_UTF8_STRING) {
499 0 0 else if (iter->data_type == OSSL_PARAM_OCTET_STRING) {
534 0 0 mXPUSHp(name, strlen(name));
547 0 0 DEFINE_PROVIDED_CALLBACK(EVP_RAND)
548 0 124 DEFINE_PROVIDED_CALLBACK(EVP_CIPHER)
549 0 22 DEFINE_PROVIDED_CALLBACK(EVP_MD)
550 0 9 DEFINE_PROVIDED_CALLBACK(EVP_MAC)
551 0 12 DEFINE_PROVIDED_CALLBACK(EVP_KDF)
552 0 0 DEFINE_PROVIDED_CALLBACK(EVP_SIGNATURE)
740 0 1 if (!RETVAL)
774 0 0 if (RETVAL >= 0)
917 0 0 if (RETVAL >= 0)
930 0 0 if (RETVAL >= 0)
960 0 0 if (!RETVAL)
1081 0 0 if (RETVAL == NID_undef)
1099 0 0 if (buf_len > 0) {
1101 0 0 if (OBJ_obj2txt((char*)ptr, buf_len, a, no_name) > 0)
1115 0 0 if (!RETVAL)
1123 0 0 if (!RETVAL)
1140 0 0 if (!RETVAL)
1188 0 0 if (result > 0) {
1225 0 0 if (!RETVAL)
1232 0 0 if (RETVAL == -2)
1238 0 0 if (ASN1_TIME_to_tm(s, &tm)) {
1239 0 0 EXTEND(SP, 9);
1254 0 0 if (!RETVAL)
1317 0 0 if (!RETVAL)
1393 0 0 if (RETVAL)
1548 0 0 switch (gn->type) {
1654 0 0 if (RETVAL)
1663 0 0 if (RETVAL)
1742 0 0 if (RETVAL)
2027 0 0 if (!RETVAL)
2065 0 0 RETVAL = SSL_set_alpn_protos(ssl, (unsigned char*)raw, raw_len);
2100 0 0 if (!RETVAL)
2149 1 0 if (RETVAL > 0)
2178 0 0 if (RETVAL)
2189 0 0 if (RETVAL)
2201 0 0 if (RETVAL)
2208 0 0 if (RETVAL)
2216 0 0 if (!RETVAL)
2266 0 0 if (RETVAL)
2370 0 0 if (!RETVAL)
2380 0 0 if (RETVAL)
2389 0 0 if (RETVAL)
2459 0 0 if (RETVAL)
2490 0 0 if (RETVAL == NULL)
2513 0 0 GENERATE_GET_PARAM(EVP_RAND, rand, name)
0 0 GENERATE_GET_PARAM(EVP_RAND, rand, name)
0 0 GENERATE_GET_PARAM(EVP_RAND, rand, name)
0 0 GENERATE_GET_PARAM(EVP_RAND, rand, name)
2524 0 0 if (RETVAL > 0)
2562 0 0 if (RETVAL)
2588 0 1 if (RETVAL == NULL)
2623 0 0 GENERATE_GET_PARAM(EVP_CIPHER, cipher, name)
0 0 GENERATE_GET_PARAM(EVP_CIPHER, cipher, name)
0 0 GENERATE_GET_PARAM(EVP_CIPHER, cipher, name)
0 0 GENERATE_GET_PARAM(EVP_CIPHER, cipher, name)
2640 2 0 if (XSauto_length_of_key != EVP_CIPHER_get_key_length(type) || XSauto_length_of_iv != EVP_CIPHER_get_iv_length(type))
0 2 if (XSauto_length_of_key != EVP_CIPHER_get_key_length(type) || XSauto_length_of_iv != EVP_CIPHER_get_iv_length(type))
2650 2 0 if (RETVAL)
2659 2 0 if (RETVAL)
2666 1 0 GENERATE_GET_PARAM(EVP_CIPHER_CTX, ctx, name)
1 0 GENERATE_GET_PARAM(EVP_CIPHER_CTX, ctx, name)
1 0 GENERATE_GET_PARAM(EVP_CIPHER_CTX, ctx, name)
1 0 GENERATE_GET_PARAM(EVP_CIPHER_CTX, ctx, name)
2694 0 0 if (RETVAL > 0)
2711 1 0 if (RETVAL)
2722 0 1 if (RETVAL == NULL)
2759 0 0 GENERATE_GET_PARAM(EVP_MD, md, name)
0 0 GENERATE_GET_PARAM(EVP_MD, md, name)
0 0 GENERATE_GET_PARAM(EVP_MD, md, name)
0 0 GENERATE_GET_PARAM(EVP_MD, md, name)
2768 0 0 if (RETVAL)
2793 1 0 if (RETVAL)
2801 0 0 if (RETVAL)
2825 1 0 if (EVP_DigestSignFinal(ctx, NULL, &size) == 1) {
2827 1 0 if (EVP_DigestSignFinal(ctx, ptr, &size) == 1)
2836 0 0 if (EVP_DigestSign(ctx, NULL, &size, tbs, XSauto_length_of_tbs) == 1) {
2838 0 0 if (EVP_DigestSign(ctx, ptr, &size, tbs, XSauto_length_of_tbs) == 1)
2857 0 0 GENERATE_GET_PARAM(EVP_MD_CTX, ctx, name)
0 0 GENERATE_GET_PARAM(EVP_MD_CTX, ctx, name)
0 0 GENERATE_GET_PARAM(EVP_MD_CTX, ctx, name)
0 0 GENERATE_GET_PARAM(EVP_MD_CTX, ctx, name)
2886 0 1 if (RETVAL == NULL)
2909 0 0 GENERATE_GET_PARAM(EVP_MAC, mac, name)
0 0 GENERATE_GET_PARAM(EVP_MAC, mac, name)
0 0 GENERATE_GET_PARAM(EVP_MAC, mac, name)
0 0 GENERATE_GET_PARAM(EVP_MAC, mac, name)
2933 0 0 GENERATE_GET_PARAM(EVP_MAC_CTX, ctx, name)
0 0 GENERATE_GET_PARAM(EVP_MAC_CTX, ctx, name)
0 0 GENERATE_GET_PARAM(EVP_MAC_CTX, ctx, name)
0 0 GENERATE_GET_PARAM(EVP_MAC_CTX, ctx, name)
2950 1 0 if (result)
2959 0 0 if (RETVAL)
2969 0 1 if (RETVAL == NULL)
2992 0 0 GENERATE_GET_PARAM(EVP_KDF, kdf, name)
0 0 GENERATE_GET_PARAM(EVP_KDF, kdf, name)
0 0 GENERATE_GET_PARAM(EVP_KDF, kdf, name)
0 0 GENERATE_GET_PARAM(EVP_KDF, kdf, name)
3011 0 0 GENERATE_GET_PARAM(EVP_KDF_CTX, ctx, name)
0 0 GENERATE_GET_PARAM(EVP_KDF_CTX, ctx, name)
0 0 GENERATE_GET_PARAM(EVP_KDF_CTX, ctx, name)
0 0 GENERATE_GET_PARAM(EVP_KDF_CTX, ctx, name)
3026 1 0 if (RETVAL)
3036 0 0 if (RETVAL == NULL)
3066 0 0 if (RETVAL == NULL)
3072 0 0 if (RETVAL == NULL)
3085 0 0 if (!result)
3089 0 0 if (result)
3097 0 0 if (!result)
3101 0 0 if (result)
3107 0 0 if (!RETVAL)
3112 0 0 const EVP_CIPHER* cipher = SvOK(cipher_sv) ? get_EVP_CIPHER(aTHX_ cipher_sv) : NULL;
3115 0 0 if (SvOK(key))
3122 0 0 if (!RETVAL)
3166 0 0 if (RETVAL > 0)
3171 0 0 if (RETVAL <= 0)
3183 0 0 if (RETVAL)
3193 0 0 result = RETVAL > 0 ? newSVpvn((char*)ptr, RETVAL) : &PL_sv_undef;
3198 0 0 GENERATE_GET_PARAM(EVP_PKEY, pkey, name)
0 0 GENERATE_GET_PARAM(EVP_PKEY, pkey, name)
0 0 GENERATE_GET_PARAM(EVP_PKEY, pkey, name)
0 0 GENERATE_GET_PARAM(EVP_PKEY, pkey, name)
3253 0 0 GENERATE_GET_PARAM(EVP_PKEY_CTX, ctx, name)
0 0 GENERATE_GET_PARAM(EVP_PKEY_CTX, ctx, name)
0 0 GENERATE_GET_PARAM(EVP_PKEY_CTX, ctx, name)
0 0 GENERATE_GET_PARAM(EVP_PKEY_CTX, ctx, name)
3274 0 2 if (RETVAL <= 0)
3283 0 1 if (EVP_PKEY_encapsulate(ctx, NULL, &wrapped_length, NULL, &gen_length) != 1)
3289 1 0 if (EVP_PKEY_encapsulate(ctx, wrapped_ptr, &wrapped_length, gen_ptr, &gen_length)) {
3302 1 0 if (result == 1) {
3305 1 0 if (EVP_PKEY_decapsulate(ctx, unwrapped_ptr, &unwrapped_length, wrapped, XSauto_length_of_wrapped) == 1)
3326 0 0 if (result == 1) {
3330 0 0 if (result == 1)
3342 0 0 if (EVP_PKEY_decrypt(ctx, NULL, &out_length, in, XSauto_length_of_in) == 1) {
3345 0 0 if (EVP_PKEY_decrypt(ctx, out_ptr, &out_length, in, XSauto_length_of_in) == 1)
3359 0 0 if (EVP_PKEY_derive(ctx, NULL, &key_length) == 1) {
3362 0 0 if (EVP_PKEY_derive(ctx, key_ptr, &key_length) == 1)
3373 0 0 if (EVP_PKEY_sign(ctx, NULL, &sig_length, tbs, XSauto_length_of_tbs) == 1) {
3376 0 0 if (EVP_PKEY_sign(ctx, sig_ptr, &sig_length, tbs, XSauto_length_of_tbs) == 1)