OpenCoverage

ecdh_ossl.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/ec/ecdh_ossl.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5int ossl_ecdh_compute_key(unsigned char **psec, size_t *pseclen,-
6 const EC_POINT *pub_key, const EC_KEY *ecdh)-
7{-
8 if (ecdh->group->meth->ecdh_compute_key ==
ecdh->group->m...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1213 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1213
9 ((void *)0)
ecdh->group->m...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1213 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1213
10 ) {-
11 ERR_put_error(16,(247),(160),__FILE__,26);-
12 return
never executed: return 0;
0;
never executed: return 0;
0
13 }-
14-
15 return
executed 1213 times by 1 test: return ecdh->group->meth->ecdh_compute_key(psec, pseclen, pub_key, ecdh);
Executed by:
  • libcrypto.so.1.1
ecdh->group->meth->ecdh_compute_key(psec, pseclen, pub_key, ecdh);
executed 1213 times by 1 test: return ecdh->group->meth->ecdh_compute_key(psec, pseclen, pub_key, ecdh);
Executed by:
  • libcrypto.so.1.1
1213
16}-
17-
18-
19-
20-
21-
22-
23int ecdh_simple_compute_key(unsigned char **pout, size_t *poutlen,-
24 const EC_POINT *pub_key, const EC_KEY *ecdh)-
25{-
26 BN_CTX *ctx;-
27 EC_POINT *tmp = -
28 ((void *)0)-
29 ;-
30 BIGNUM *x = -
31 ((void *)0)-
32 ;-
33 const BIGNUM *priv_key;-
34 const EC_GROUP *group;-
35 int ret = 0;-
36 size_t buflen, len;-
37 unsigned char *buf = -
38 ((void *)0)-
39 ;-
40-
41 if ((
(ctx = BN_CTX_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1213 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
ctx = BN_CTX_new()) ==
(ctx = BN_CTX_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1213 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1213
42 ((void *)0)
(ctx = BN_CTX_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1213 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1213
43 )-
44 goto
never executed: goto err;
err;
never executed: goto err;
0
45 BN_CTX_start(ctx);-
46 x = BN_CTX_get(ctx);-
47 if (x ==
x == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1213 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1213
48 ((void *)0)
x == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1213 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1213
49 ) {-
50 ERR_put_error(16,(257),((1|64)),__FILE__,55);-
51 goto
never executed: goto err;
err;
never executed: goto err;
0
52 }-
53-
54 priv_key = EC_KEY_get0_private_key(ecdh);-
55 if (priv_key ==
priv_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1213 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1213
56 ((void *)0)
priv_key == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1213 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1213
57 ) {-
58 ERR_put_error(16,(257),(154),__FILE__,61);-
59 goto
never executed: goto err;
err;
never executed: goto err;
0
60 }-
61-
62 group = EC_KEY_get0_group(ecdh);-
63-
64 if (EC_KEY_get_flags(ecdh) & 0x1000
EC_KEY_get_fla...ecdh) & 0x1000Description
TRUEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 792 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
421-792
65 if (!EC_GROUP_get_cofactor(group, x,
!EC_GROUP_get_... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-421
66 ((void *)0)
!EC_GROUP_get_... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-421
67 )
!EC_GROUP_get_... ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
||
0-421
68 !BN_mul(x, x, priv_key, ctx)
!BN_mul(x, x, priv_key, ctx)Description
TRUEnever evaluated
FALSEevaluated 421 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-421
69 ERR_put_error(16,(257),((1|64)),__FILE__,70);-
70 goto
never executed: goto err;
err;
never executed: goto err;
0
71 }-
72 priv_key = x;-
73 }
executed 421 times by 1 test: end of block
Executed by:
  • libcrypto.so.1.1
421
74-
75 if ((
(tmp = EC_POIN...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1213 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
tmp = EC_POINT_new(group)) ==
(tmp = EC_POIN...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1213 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1213
76 ((void *)0)
(tmp = EC_POIN...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1213 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1213
77 ) {-
78 ERR_put_error(16,(257),((1|64)),__FILE__,77);-
79 goto
never executed: goto err;
err;
never executed: goto err;
0
80 }-
81-
82 if (!EC_POINT_mul(group, tmp,
!EC_POINT_mul(...priv_key, ctx)Description
TRUEnever evaluated
FALSEevaluated 1213 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1213
83 ((void *)0)
!EC_POINT_mul(...priv_key, ctx)Description
TRUEnever evaluated
FALSEevaluated 1213 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1213
84 , pub_key, priv_key, ctx)
!EC_POINT_mul(...priv_key, ctx)Description
TRUEnever evaluated
FALSEevaluated 1213 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-1213
85 ERR_put_error(16,(257),(155),__FILE__,82);-
86 goto
never executed: goto err;
err;
never executed: goto err;
0
87 }-
88-
89 if (!EC_POINT_get_affine_coordinates(group, tmp, x,
!EC_POINT_get_...id *)0) , ctx)Description
TRUEevaluated 93 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 1120 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
93-1120
90 ((void *)0)
!EC_POINT_get_...id *)0) , ctx)Description
TRUEevaluated 93 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 1120 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
93-1120
91 , ctx)
!EC_POINT_get_...id *)0) , ctx)Description
TRUEevaluated 93 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEevaluated 1120 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
93-1120
92 ERR_put_error(16,(257),(155),__FILE__,87);-
93 goto
executed 93 times by 1 test: goto err;
Executed by:
  • libcrypto.so.1.1
err;
executed 93 times by 1 test: goto err;
Executed by:
  • libcrypto.so.1.1
93
94 }-
95-
96 buflen = (EC_GROUP_get_degree(group) + 7) / 8;-
97 len = ((BN_num_bits(x)+7)/8);-
98 if (len > buflen
len > buflenDescription
TRUEnever evaluated
FALSEevaluated 1120 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-1120
99 ERR_put_error(16,(257),((4|64)),__FILE__,94);-
100 goto
never executed: goto err;
err;
never executed: goto err;
0
101 }-
102 if ((
(buf = CRYPTO_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1120 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
buf = CRYPTO_malloc(buflen, __FILE__, 97)) ==
(buf = CRYPTO_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1120 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1120
103 ((void *)0)
(buf = CRYPTO_...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 1120 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
0-1120
104 ) {-
105 ERR_put_error(16,(257),((1|64)),__FILE__,98);-
106 goto
never executed: goto err;
err;
never executed: goto err;
0
107 }-
108-
109 memset(buf, 0, buflen - len);-
110 if (len != (size_t)BN_bn2bin(x, buf + buflen - len)
len != (size_t... buflen - len)Description
TRUEnever evaluated
FALSEevaluated 1120 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
) {
0-1120
111 ERR_put_error(16,(257),(3),__FILE__,104);-
112 goto
never executed: goto err;
err;
never executed: goto err;
0
113 }-
114-
115 *pout = buf;-
116 *poutlen = buflen;-
117 buf = -
118 ((void *)0)-
119 ;-
120-
121 ret = 1;-
122-
123 err:
code before this statement executed 1120 times by 1 test: err:
Executed by:
  • libcrypto.so.1.1
1120
124 EC_POINT_free(tmp);-
125 if (ctx
ctxDescription
TRUEevaluated 1213 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
FALSEnever evaluated
)
0-1213
126 BN_CTX_end(ctx);
executed 1213 times by 1 test: BN_CTX_end(ctx);
Executed by:
  • libcrypto.so.1.1
1213
127 BN_CTX_free(ctx);-
128 CRYPTO_free(buf, __FILE__, 119);-
129 return
executed 1213 times by 1 test: return ret;
Executed by:
  • libcrypto.so.1.1
ret;
executed 1213 times by 1 test: return ret;
Executed by:
  • libcrypto.so.1.1
1213
130}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2