OpenCoverage

m_sigver.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/evp/m_sigver.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5static int-
6do_sigver_init(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, const EVP_MD *type,-
7 ENGINE *e, EVP_PKEY *pkey, int ver)-
8{-
9 if (ctx->pctx ==
ctx->pctx == ((void *)0)Description
TRUEevaluated 1888 times by 6 tests
Evaluated by:
  • gost2814789t
  • libcrypto.so.44.0.1
  • pkcs7test
  • ssltest
  • tls_prf
  • tlstest
FALSEevaluated 6992 times by 3 tests
Evaluated by:
  • ssltest
  • tls_prf
  • tlstest
1888-6992
10 ((void *)0)
ctx->pctx == ((void *)0)Description
TRUEevaluated 1888 times by 6 tests
Evaluated by:
  • gost2814789t
  • libcrypto.so.44.0.1
  • pkcs7test
  • ssltest
  • tls_prf
  • tlstest
FALSEevaluated 6992 times by 3 tests
Evaluated by:
  • ssltest
  • tls_prf
  • tlstest
1888-6992
11 )-
12 ctx->pctx = EVP_PKEY_CTX_new(pkey, e);
executed 1888 times by 6 tests: ctx->pctx = EVP_PKEY_CTX_new(pkey, e);
Executed by:
  • gost2814789t
  • libcrypto.so.44.0.1
  • pkcs7test
  • ssltest
  • tls_prf
  • tlstest
1888
13 if (ctx->pctx ==
ctx->pctx == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 8880 times by 6 tests
Evaluated by:
  • gost2814789t
  • libcrypto.so.44.0.1
  • pkcs7test
  • ssltest
  • tls_prf
  • tlstest
0-8880
14 ((void *)0)
ctx->pctx == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 8880 times by 6 tests
Evaluated by:
  • gost2814789t
  • libcrypto.so.44.0.1
  • pkcs7test
  • ssltest
  • tls_prf
  • tlstest
0-8880
15 )-
16 return
never executed: return 0;
0;
never executed: return 0;
0
17-
18 if (type ==
type == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 8880 times by 6 tests
Evaluated by:
  • gost2814789t
  • libcrypto.so.44.0.1
  • pkcs7test
  • ssltest
  • tls_prf
  • tlstest
0-8880
19 ((void *)0)
type == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 8880 times by 6 tests
Evaluated by:
  • gost2814789t
  • libcrypto.so.44.0.1
  • pkcs7test
  • ssltest
  • tls_prf
  • tlstest
0-8880
20 ) {-
21 int def_nid;-
22 if (EVP_PKEY_get_default_digest_nid(pkey, &def_nid) > 0
EVP_PKEY_get_d... &def_nid) > 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
23 type = EVP_get_digestbyname(OBJ_nid2sn(def_nid));
never executed: type = EVP_get_digestbyname(OBJ_nid2sn(def_nid));
0
24 }
never executed: end of block
0
25-
26 if (type ==
type == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 8880 times by 6 tests
Evaluated by:
  • gost2814789t
  • libcrypto.so.44.0.1
  • pkcs7test
  • ssltest
  • tls_prf
  • tlstest
0-8880
27 ((void *)0)
type == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 8880 times by 6 tests
Evaluated by:
  • gost2814789t
  • libcrypto.so.44.0.1
  • pkcs7test
  • ssltest
  • tls_prf
  • tlstest
0-8880
28 ) {-
29 ERR_put_error(6,(0xfff),(158),__FILE__,84);-
30 return
never executed: return 0;
0;
never executed: return 0;
0
31 }-
32-
33 if (ver
verDescription
TRUEevaluated 72 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
FALSEevaluated 8808 times by 6 tests
Evaluated by:
  • gost2814789t
  • libcrypto.so.44.0.1
  • pkcs7test
  • ssltest
  • tls_prf
  • tlstest
) {
72-8808
34 if (ctx->pctx->pmeth->verifyctx_init
ctx->pctx->pme...verifyctx_initDescription
TRUEnever evaluated
FALSEevaluated 72 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-72
35 if (ctx->pctx->pmeth->verifyctx_init(ctx->pctx,
ctx->pctx->pme...pctx, ctx) <=0Description
TRUEnever evaluated
FALSEnever evaluated
0
36 ctx) <=0
ctx->pctx->pme...pctx, ctx) <=0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
37 return
never executed: return 0;
0;
never executed: return 0;
0
38 ctx->pctx->operation = (1<<7);-
39 }
never executed: end of block
else if (EVP_PKEY_verify_init(ctx->pctx) <= 0
EVP_PKEY_verif...tx->pctx) <= 0Description
TRUEnever evaluated
FALSEevaluated 72 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-72
40 return
never executed: return 0;
0;
never executed: return 0;
0
41 }
executed 72 times by 2 tests: end of block
Executed by:
  • ssltest
  • tlstest
else {
72
42 if (ctx->pctx->pmeth->signctx_init
ctx->pctx->pmeth->signctx_initDescription
TRUEevaluated 8804 times by 4 tests
Evaluated by:
  • gost2814789t
  • ssltest
  • tls_prf
  • tlstest
FALSEevaluated 4 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • pkcs7test
) {
4-8804
43 if (ctx->pctx->pmeth->signctx_init(ctx->pctx, ctx) <= 0
ctx->pctx->pme...ctx, ctx) <= 0Description
TRUEnever evaluated
FALSEevaluated 8804 times by 4 tests
Evaluated by:
  • gost2814789t
  • ssltest
  • tls_prf
  • tlstest
)
0-8804
44 return
never executed: return 0;
0;
never executed: return 0;
0
45 ctx->pctx->operation = (1<<6);-
46 }
executed 8804 times by 4 tests: end of block
Executed by:
  • gost2814789t
  • ssltest
  • tls_prf
  • tlstest
else if (EVP_PKEY_sign_init(ctx->pctx) <= 0
EVP_PKEY_sign_...tx->pctx) <= 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • pkcs7test
)
0-8804
47 return
never executed: return 0;
0;
never executed: return 0;
0
48 }
executed 8808 times by 6 tests: end of block
Executed by:
  • gost2814789t
  • libcrypto.so.44.0.1
  • pkcs7test
  • ssltest
  • tls_prf
  • tlstest
8808
49 if (EVP_PKEY_CTX_ctrl(ctx->pctx, -1, ((1<<3) | (1<<4) | (1<<5) | (1<<6) | (1<<7)), 1, 0, (void *)type) <= 0
EVP_PKEY_CTX_c...d *)type) <= 0Description
TRUEnever evaluated
FALSEevaluated 8880 times by 6 tests
Evaluated by:
  • gost2814789t
  • libcrypto.so.44.0.1
  • pkcs7test
  • ssltest
  • tls_prf
  • tlstest
)
0-8880
50 return
never executed: return 0;
0;
never executed: return 0;
0
51 if (pctx
pctxDescription
TRUEevaluated 4 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • pkcs7test
FALSEevaluated 8876 times by 4 tests
Evaluated by:
  • gost2814789t
  • ssltest
  • tls_prf
  • tlstest
)
4-8876
52 *
executed 4 times by 2 tests: *pctx = ctx->pctx;
Executed by:
  • libcrypto.so.44.0.1
  • pkcs7test
pctx = ctx->pctx;
executed 4 times by 2 tests: *pctx = ctx->pctx;
Executed by:
  • libcrypto.so.44.0.1
  • pkcs7test
4
53 if (!EVP_DigestInit_ex(ctx, type, e)
!EVP_DigestIni...(ctx, type, e)Description
TRUEnever evaluated
FALSEevaluated 8880 times by 6 tests
Evaluated by:
  • gost2814789t
  • libcrypto.so.44.0.1
  • pkcs7test
  • ssltest
  • tls_prf
  • tlstest
)
0-8880
54 return
never executed: return 0;
0;
never executed: return 0;
0
55 return
executed 8880 times by 6 tests: return 1;
Executed by:
  • gost2814789t
  • libcrypto.so.44.0.1
  • pkcs7test
  • ssltest
  • tls_prf
  • tlstest
1;
executed 8880 times by 6 tests: return 1;
Executed by:
  • gost2814789t
  • libcrypto.so.44.0.1
  • pkcs7test
  • ssltest
  • tls_prf
  • tlstest
8880
56}-
57-
58int-
59EVP_DigestSignInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, const EVP_MD *type,-
60 ENGINE *e, EVP_PKEY *pkey)-
61{-
62 return
executed 8808 times by 6 tests: return do_sigver_init(ctx, pctx, type, e, pkey, 0);
Executed by:
  • gost2814789t
  • libcrypto.so.44.0.1
  • pkcs7test
  • ssltest
  • tls_prf
  • tlstest
do_sigver_init(ctx, pctx, type, e, pkey, 0);
executed 8808 times by 6 tests: return do_sigver_init(ctx, pctx, type, e, pkey, 0);
Executed by:
  • gost2814789t
  • libcrypto.so.44.0.1
  • pkcs7test
  • ssltest
  • tls_prf
  • tlstest
8808
63}-
64-
65int-
66EVP_DigestVerifyInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, const EVP_MD *type,-
67 ENGINE *e, EVP_PKEY *pkey)-
68{-
69 return
executed 72 times by 2 tests: return do_sigver_init(ctx, pctx, type, e, pkey, 1);
Executed by:
  • ssltest
  • tlstest
do_sigver_init(ctx, pctx, type, e, pkey, 1);
executed 72 times by 2 tests: return do_sigver_init(ctx, pctx, type, e, pkey, 1);
Executed by:
  • ssltest
  • tlstest
72
70}-
71-
72int-
73EVP_DigestSignFinal(EVP_MD_CTX *ctx, unsigned char *sigret, size_t *siglen)-
74{-
75 int sctx, r = 0;-
76-
77 if (ctx->pctx->pmeth->signctx
ctx->pctx->pmeth->signctxDescription
TRUEevaluated 8932 times by 4 tests
Evaluated by:
  • gost2814789t
  • ssltest
  • tls_prf
  • tlstest
FALSEevaluated 6 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • pkcs7test
)
6-8932
78 sctx = 1;
executed 8932 times by 4 tests: sctx = 1;
Executed by:
  • gost2814789t
  • ssltest
  • tls_prf
  • tlstest
8932
79 else-
80 sctx = 0;
executed 6 times by 2 tests: sctx = 0;
Executed by:
  • libcrypto.so.44.0.1
  • pkcs7test
6
81 if (sigret
sigretDescription
TRUEevaluated 8936 times by 6 tests
Evaluated by:
  • gost2814789t
  • libcrypto.so.44.0.1
  • pkcs7test
  • ssltest
  • tls_prf
  • tlstest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • pkcs7test
) {
2-8936
82 EVP_MD_CTX tmp_ctx;-
83 unsigned char md[64];-
84 unsigned int mdlen = 0;-
85 EVP_MD_CTX_init(&tmp_ctx);-
86 if (!EVP_MD_CTX_copy_ex(&tmp_ctx, ctx)
!EVP_MD_CTX_co...&tmp_ctx, ctx)Description
TRUEnever evaluated
FALSEevaluated 8936 times by 6 tests
Evaluated by:
  • gost2814789t
  • libcrypto.so.44.0.1
  • pkcs7test
  • ssltest
  • tls_prf
  • tlstest
)
0-8936
87 return
never executed: return 0;
0;
never executed: return 0;
0
88 if (sctx
sctxDescription
TRUEevaluated 8932 times by 4 tests
Evaluated by:
  • gost2814789t
  • ssltest
  • tls_prf
  • tlstest
FALSEevaluated 4 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • pkcs7test
)
4-8932
89 r = tmp_ctx.pctx->pmeth->signctx(tmp_ctx.pctx,
executed 8932 times by 4 tests: r = tmp_ctx.pctx->pmeth->signctx(tmp_ctx.pctx, sigret, siglen, &tmp_ctx);
Executed by:
  • gost2814789t
  • ssltest
  • tls_prf
  • tlstest
8932
90 sigret, siglen, &tmp_ctx);
executed 8932 times by 4 tests: r = tmp_ctx.pctx->pmeth->signctx(tmp_ctx.pctx, sigret, siglen, &tmp_ctx);
Executed by:
  • gost2814789t
  • ssltest
  • tls_prf
  • tlstest
8932
91 else-
92 r = EVP_DigestFinal_ex(&tmp_ctx, md, &mdlen);
executed 4 times by 2 tests: r = EVP_DigestFinal_ex(&tmp_ctx, md, &mdlen);
Executed by:
  • libcrypto.so.44.0.1
  • pkcs7test
4
93 EVP_MD_CTX_cleanup(&tmp_ctx);-
94 if (sctx
sctxDescription
TRUEevaluated 8932 times by 4 tests
Evaluated by:
  • gost2814789t
  • ssltest
  • tls_prf
  • tlstest
FALSEevaluated 4 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • pkcs7test
|| !r
!rDescription
TRUEnever evaluated
FALSEevaluated 4 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • pkcs7test
)
0-8932
95 return
executed 8932 times by 4 tests: return r;
Executed by:
  • gost2814789t
  • ssltest
  • tls_prf
  • tlstest
r;
executed 8932 times by 4 tests: return r;
Executed by:
  • gost2814789t
  • ssltest
  • tls_prf
  • tlstest
8932
96 if (EVP_PKEY_sign(ctx->pctx, sigret, siglen, md, mdlen) <= 0
EVP_PKEY_sign(...d, mdlen) <= 0Description
TRUEnever evaluated
FALSEevaluated 4 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • pkcs7test
)
0-4
97 return
never executed: return 0;
0;
never executed: return 0;
0
98 }
executed 4 times by 2 tests: end of block
Executed by:
  • libcrypto.so.44.0.1
  • pkcs7test
else {
4
99 if (sctx
sctxDescription
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • pkcs7test
) {
0-2
100 if (ctx->pctx->pmeth->signctx(ctx->pctx, sigret,
ctx->pctx->pme...len, ctx) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
0
101 siglen, ctx) <= 0
ctx->pctx->pme...len, ctx) <= 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
102 return
never executed: return 0;
0;
never executed: return 0;
0
103 }
never executed: end of block
else {
0
104 int s = EVP_MD_size(ctx->digest);-
105 if (s < 0
s < 0Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • pkcs7test
|| EVP_PKEY_sign(ctx->pctx, sigret, siglen,
EVP_PKEY_sign(...*)0) , s) <= 0Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • pkcs7test
0-2
106
EVP_PKEY_sign(...*)0) , s) <= 0Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • pkcs7test
0-2
107 ((void *)0)
EVP_PKEY_sign(...*)0) , s) <= 0Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • pkcs7test
0-2
108 , s) <= 0
EVP_PKEY_sign(...*)0) , s) <= 0Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • pkcs7test
)
0-2
109 return
never executed: return 0;
0;
never executed: return 0;
0
110 }
executed 2 times by 1 test: end of block
Executed by:
  • pkcs7test
2
111 }-
112 return
executed 6 times by 2 tests: return 1;
Executed by:
  • libcrypto.so.44.0.1
  • pkcs7test
1;
executed 6 times by 2 tests: return 1;
Executed by:
  • libcrypto.so.44.0.1
  • pkcs7test
6
113}-
114-
115int-
116EVP_DigestVerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sig, size_t siglen)-
117{-
118 EVP_MD_CTX tmp_ctx;-
119 unsigned char md[64];-
120 int r;-
121 unsigned int mdlen = 0;-
122 int vctx;-
123-
124 if (ctx->pctx->pmeth->verifyctx
ctx->pctx->pmeth->verifyctxDescription
TRUEnever evaluated
FALSEevaluated 72 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-72
125 vctx = 1;
never executed: vctx = 1;
0
126 else-
127 vctx = 0;
executed 72 times by 2 tests: vctx = 0;
Executed by:
  • ssltest
  • tlstest
72
128 EVP_MD_CTX_init(&tmp_ctx);-
129 if (!EVP_MD_CTX_copy_ex(&tmp_ctx, ctx)
!EVP_MD_CTX_co...&tmp_ctx, ctx)Description
TRUEnever evaluated
FALSEevaluated 72 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-72
130 return
never executed: return -1;
-1;
never executed: return -1;
0
131 if (vctx
vctxDescription
TRUEnever evaluated
FALSEevaluated 72 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
) {
0-72
132 r = tmp_ctx.pctx->pmeth->verifyctx(tmp_ctx.pctx, sig,-
133 siglen, &tmp_ctx);-
134 }
never executed: end of block
else
0
135 r = EVP_DigestFinal_ex(&tmp_ctx, md, &mdlen);
executed 72 times by 2 tests: r = EVP_DigestFinal_ex(&tmp_ctx, md, &mdlen);
Executed by:
  • ssltest
  • tlstest
72
136 EVP_MD_CTX_cleanup(&tmp_ctx);-
137 if (vctx
vctxDescription
TRUEnever evaluated
FALSEevaluated 72 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
|| !r
!rDescription
TRUEnever evaluated
FALSEevaluated 72 times by 2 tests
Evaluated by:
  • ssltest
  • tlstest
)
0-72
138 return
never executed: return r;
r;
never executed: return r;
0
139 return
executed 72 times by 2 tests: return EVP_PKEY_verify(ctx->pctx, sig, siglen, md, mdlen);
Executed by:
  • ssltest
  • tlstest
EVP_PKEY_verify(ctx->pctx, sig, siglen, md, mdlen);
executed 72 times by 2 tests: return EVP_PKEY_verify(ctx->pctx, sig, siglen, md, mdlen);
Executed by:
  • ssltest
  • tlstest
72
140}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2