OpenCoverage

ech_lib.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/ecdh/ech_lib.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7static const ECDH_METHOD *default_ECDH_method = -
8 ((void *)0)-
9 ;-
10-
11static void *ecdh_data_new(void);-
12static void *ecdh_data_dup(void *);-
13static void ecdh_data_free(void *);-
14-
15void-
16ECDH_set_default_method(const ECDH_METHOD *meth)-
17{-
18 default_ECDH_method = meth;-
19}
never executed: end of block
0
20-
21const ECDH_METHOD *-
22ECDH_get_default_method(void)-
23{-
24 if (!default_ECDH_method
!default_ECDH_methodDescription
TRUEevaluated 24 times by 2 tests
Evaluated by:
  • ecdhtest
  • ssltest
FALSEevaluated 58 times by 2 tests
Evaluated by:
  • ecdhtest
  • ssltest
) {
24-58
25 default_ECDH_method = ECDH_OpenSSL();-
26 }
executed 24 times by 2 tests: end of block
Executed by:
  • ecdhtest
  • ssltest
24
27 return
executed 82 times by 2 tests: return default_ECDH_method;
Executed by:
  • ecdhtest
  • ssltest
default_ECDH_method;
executed 82 times by 2 tests: return default_ECDH_method;
Executed by:
  • ecdhtest
  • ssltest
82
28}-
29-
30int-
31ECDH_set_method(EC_KEY *eckey, const ECDH_METHOD *meth)-
32{-
33 ECDH_DATA *ecdh;-
34-
35 ecdh = ecdh_check(eckey);-
36-
37 if (ecdh ==
ecdh == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
38 ((void *)0)
ecdh == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
39 )-
40 return
never executed: return 0;
0;
never executed: return 0;
0
41-
42-
43 ENGINE_finish(ecdh->engine);-
44 ecdh->engine = -
45 ((void *)0)-
46 ;-
47-
48 ecdh->meth = meth;-
49 return
never executed: return 1;
1;
never executed: return 1;
0
50}-
51-
52static ECDH_DATA *-
53ECDH_DATA_new_method(ENGINE *engine)-
54{-
55 ECDH_DATA *ret;-
56-
57 ret = malloc(sizeof(ECDH_DATA));-
58 if (ret ==
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 82 times by 2 tests
Evaluated by:
  • ecdhtest
  • ssltest
0-82
59 ((void *)0)
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 82 times by 2 tests
Evaluated by:
  • ecdhtest
  • ssltest
0-82
60 ) {-
61 ERR_put_error(43,(0xfff),((1|64)),__FILE__,126);-
62 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
63 ((void *)0)
never executed: return ( ((void *)0) );
0
64 );
never executed: return ( ((void *)0) );
0
65 }-
66-
67 ret->init = -
68 ((void *)0)-
69 ;-
70-
71 ret->meth = ECDH_get_default_method();-
72 ret->engine = engine;-
73-
74 if (!ret->engine
!ret->engineDescription
TRUEevaluated 82 times by 2 tests
Evaluated by:
  • ecdhtest
  • ssltest
FALSEnever evaluated
)
0-82
75 ret->engine = ENGINE_get_default_ECDH();
executed 82 times by 2 tests: ret->engine = ENGINE_get_default_ECDH();
Executed by:
  • ecdhtest
  • ssltest
82
76 if (ret->engine
ret->engineDescription
TRUEnever evaluated
FALSEevaluated 82 times by 2 tests
Evaluated by:
  • ecdhtest
  • ssltest
) {
0-82
77 ret->meth = ENGINE_get_ECDH(ret->engine);-
78 if (ret->meth ==
ret->meth == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
79 ((void *)0)
ret->meth == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
80 ) {-
81 ERR_put_error(43,(0xfff),(38),__FILE__,140);-
82 ENGINE_finish(ret->engine);-
83 free(ret);-
84 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
85 ((void *)0)
never executed: return ((void *)0) ;
0
86 ;
never executed: return ((void *)0) ;
0
87 }-
88 }
never executed: end of block
0
89-
90-
91 ret->flags = ret->meth->flags;-
92 CRYPTO_new_ex_data(13, ret, &ret->ex_data);-
93 return
executed 82 times by 2 tests: return (ret);
Executed by:
  • ecdhtest
  • ssltest
(ret);
executed 82 times by 2 tests: return (ret);
Executed by:
  • ecdhtest
  • ssltest
82
94}-
95-
96static void *-
97ecdh_data_new(void)-
98{-
99 return
executed 82 times by 2 tests: return (void *)ECDH_DATA_new_method( ((void *)0) );
Executed by:
  • ecdhtest
  • ssltest
(void *)ECDH_DATA_new_method(
executed 82 times by 2 tests: return (void *)ECDH_DATA_new_method( ((void *)0) );
Executed by:
  • ecdhtest
  • ssltest
82
100 ((void *)0)
executed 82 times by 2 tests: return (void *)ECDH_DATA_new_method( ((void *)0) );
Executed by:
  • ecdhtest
  • ssltest
82
101 );
executed 82 times by 2 tests: return (void *)ECDH_DATA_new_method( ((void *)0) );
Executed by:
  • ecdhtest
  • ssltest
82
102}-
103-
104static void *-
105ecdh_data_dup(void *data)-
106{-
107 ECDH_DATA *r = (ECDH_DATA *)data;-
108-
109-
110 if (r ==
r == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
111 ((void *)0)
r == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
112 )-
113 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
114 ((void *)0)
never executed: return ((void *)0) ;
0
115 ;
never executed: return ((void *)0) ;
0
116-
117 return
never executed: return (void *)ecdh_data_new();
(void *)ecdh_data_new();
never executed: return (void *)ecdh_data_new();
0
118}-
119-
120void-
121ecdh_data_free(void *data)-
122{-
123 ECDH_DATA *r = (ECDH_DATA *)data;-
124-
125-
126 ENGINE_finish(r->engine);-
127-
128-
129 CRYPTO_free_ex_data(13, r, &r->ex_data);-
130-
131 freezero(r, sizeof(ECDH_DATA));-
132}
executed 82 times by 2 tests: end of block
Executed by:
  • ecdhtest
  • ssltest
82
133-
134ECDH_DATA *-
135ecdh_check(EC_KEY *key)-
136{-
137 ECDH_DATA *ecdh_data;-
138-
139 void *data = EC_KEY_get_key_method_data(key, ecdh_data_dup,-
140 ecdh_data_free, ecdh_data_free);-
141 if (data ==
data == ((void *)0)Description
TRUEevaluated 82 times by 2 tests
Evaluated by:
  • ecdhtest
  • ssltest
FALSEnever evaluated
0-82
142 ((void *)0)
data == ((void *)0)Description
TRUEevaluated 82 times by 2 tests
Evaluated by:
  • ecdhtest
  • ssltest
FALSEnever evaluated
0-82
143 ) {-
144 ecdh_data = (ECDH_DATA *)ecdh_data_new();-
145 if (ecdh_data ==
ecdh_data == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 82 times by 2 tests
Evaluated by:
  • ecdhtest
  • ssltest
0-82
146 ((void *)0)
ecdh_data == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 82 times by 2 tests
Evaluated by:
  • ecdhtest
  • ssltest
0-82
147 )-
148 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
149 ((void *)0)
never executed: return ((void *)0) ;
0
150 ;
never executed: return ((void *)0) ;
0
151 data = EC_KEY_insert_key_method_data(key, (void *)ecdh_data,-
152 ecdh_data_dup, ecdh_data_free, ecdh_data_free);-
153 if (data !=
data != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 82 times by 2 tests
Evaluated by:
  • ecdhtest
  • ssltest
0-82
154 ((void *)0)
data != ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 82 times by 2 tests
Evaluated by:
  • ecdhtest
  • ssltest
0-82
155 ) {-
156-
157-
158 ecdh_data_free(ecdh_data);-
159 ecdh_data = (ECDH_DATA *)data;-
160 }
never executed: end of block
0
161 }
executed 82 times by 2 tests: end of block
Executed by:
  • ecdhtest
  • ssltest
else
82
162 ecdh_data = (ECDH_DATA *)data;
never executed: ecdh_data = (ECDH_DATA *)data;
0
163-
164 return
executed 82 times by 2 tests: return ecdh_data;
Executed by:
  • ecdhtest
  • ssltest
ecdh_data;
executed 82 times by 2 tests: return ecdh_data;
Executed by:
  • ecdhtest
  • ssltest
82
165}-
166-
167int-
168ECDH_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func,-
169 CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func)-
170{-
171 return
never executed: return CRYPTO_get_ex_new_index(13, argl, argp, new_func, dup_func, free_func);
CRYPTO_get_ex_new_index(13, argl, argp,
never executed: return CRYPTO_get_ex_new_index(13, argl, argp, new_func, dup_func, free_func);
0
172 new_func, dup_func, free_func);
never executed: return CRYPTO_get_ex_new_index(13, argl, argp, new_func, dup_func, free_func);
0
173}-
174-
175int-
176ECDH_set_ex_data(EC_KEY *d, int idx, void *arg)-
177{-
178 ECDH_DATA *ecdh;-
179 ecdh = ecdh_check(d);-
180 if (ecdh ==
ecdh == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
181 ((void *)0)
ecdh == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
182 )-
183 return
never executed: return 0;
0;
never executed: return 0;
0
184 return
never executed: return (CRYPTO_set_ex_data(&ecdh->ex_data, idx, arg));
(CRYPTO_set_ex_data(&ecdh->ex_data, idx, arg));
never executed: return (CRYPTO_set_ex_data(&ecdh->ex_data, idx, arg));
0
185}-
186-
187void *-
188ECDH_get_ex_data(EC_KEY *d, int idx)-
189{-
190 ECDH_DATA *ecdh;-
191 ecdh = ecdh_check(d);-
192 if (ecdh ==
ecdh == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
193 ((void *)0)
ecdh == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
194 )-
195 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
196 ((void *)0)
never executed: return ((void *)0) ;
0
197 ;
never executed: return ((void *)0) ;
0
198 return
never executed: return (CRYPTO_get_ex_data(&ecdh->ex_data, idx));
(CRYPTO_get_ex_data(&ecdh->ex_data, idx));
never executed: return (CRYPTO_get_ex_data(&ecdh->ex_data, idx));
0
199}-
200-
201int-
202ECDH_size(const EC_KEY *d)-
203{-
204 return
executed 131 times by 2 tests: return ((EC_GROUP_get_degree(EC_KEY_get0_group(d)) + 7) / 8);
Executed by:
  • ecdhtest
  • ssltest
((EC_GROUP_get_degree(EC_KEY_get0_group(d)) + 7) / 8);
executed 131 times by 2 tests: return ((EC_GROUP_get_degree(EC_KEY_get0_group(d)) + 7) / 8);
Executed by:
  • ecdhtest
  • ssltest
131
205}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2