OpenCoverage

ecp_oct.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/ec/ecp_oct.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3int-
4ec_GFp_simple_set_compressed_coordinates(const EC_GROUP * group,-
5 EC_POINT * point, const BIGNUM * x_, int y_bit, BN_CTX * ctx)-
6{-
7 BN_CTX *new_ctx = -
8 ((void *)0)-
9 ;-
10 BIGNUM *tmp1, *tmp2, *x, *y;-
11 int ret = 0;-
12-
13-
14 ERR_clear_error();-
15-
16 if (ctx ==
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ectest
0-7
17 ((void *)0)
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ectest
0-7
18 ) {-
19 ctx = new_ctx = BN_CTX_new();-
20 if (ctx ==
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
21 ((void *)0)
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
22 )-
23 return
never executed: return 0;
0;
never executed: return 0;
0
24 }
never executed: end of block
0
25 y_bit = (y_bit != 0);-
26-
27 BN_CTX_start(ctx);-
28 if ((
(tmp1 = BN_CTX...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ectest
tmp1 = BN_CTX_get(ctx)) ==
(tmp1 = BN_CTX...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ectest
0-7
29 ((void *)0)
(tmp1 = BN_CTX...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ectest
0-7
30 )-
31 goto
never executed: goto err;
err;
never executed: goto err;
0
32 if ((
(tmp2 = BN_CTX...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ectest
tmp2 = BN_CTX_get(ctx)) ==
(tmp2 = BN_CTX...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ectest
0-7
33 ((void *)0)
(tmp2 = BN_CTX...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ectest
0-7
34 )-
35 goto
never executed: goto err;
err;
never executed: goto err;
0
36 if ((
(x = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ectest
x = BN_CTX_get(ctx)) ==
(x = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ectest
0-7
37 ((void *)0)
(x = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ectest
0-7
38 )-
39 goto
never executed: goto err;
err;
never executed: goto err;
0
40 if ((
(y = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ectest
y = BN_CTX_get(ctx)) ==
(y = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ectest
0-7
41 ((void *)0)
(y = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ectest
0-7
42 )-
43 goto
never executed: goto err;
err;
never executed: goto err;
0
44-
45-
46-
47-
48-
49-
50-
51 if (!BN_nnmod(x, x_, &group->field, ctx)
!BN_nnmod(x, x...p->field, ctx)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ectest
)
0-7
52 goto
never executed: goto err;
err;
never executed: goto err;
0
53 if (group->meth->field_decode == 0
group->meth->field_decode == 0Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ectest
) {
0-7
54-
55 if (!group->meth->field_sqr(group, tmp2, x_, ctx)
!group->meth->...tmp2, x_, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
56 goto
never executed: goto err;
err;
never executed: goto err;
0
57 if (!group->meth->field_mul(group, tmp1, tmp2, x_, ctx)
!group->meth->...tmp2, x_, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
58 goto
never executed: goto err;
err;
never executed: goto err;
0
59 }
never executed: end of block
else {
0
60 if (!BN_mod_sqr(tmp2, x_, &group->field, ctx)
!BN_mod_sqr(tm...p->field, ctx)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ectest
)
0-7
61 goto
never executed: goto err;
err;
never executed: goto err;
0
62 if (!BN_mod_mul(tmp1, tmp2, x_, &group->field, ctx)
!BN_mod_mul(tm...p->field, ctx)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ectest
)
0-7
63 goto
never executed: goto err;
err;
never executed: goto err;
0
64 }
executed 7 times by 1 test: end of block
Executed by:
  • ectest
7
65-
66-
67 if (group->a_is_minus3
group->a_is_minus3Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • ectest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • ectest
) {
2-5
68 if (!BN_mod_lshift1_quick(tmp2, x, &group->field)
!BN_mod_lshift...&group->field)Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • ectest
)
0-5
69 goto
never executed: goto err;
err;
never executed: goto err;
0
70 if (!BN_mod_add_quick(tmp2, tmp2, x, &group->field)
!BN_mod_add_qu...&group->field)Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • ectest
)
0-5
71 goto
never executed: goto err;
err;
never executed: goto err;
0
72 if (!BN_mod_sub_quick(tmp1, tmp1, tmp2, &group->field)
!BN_mod_sub_qu...&group->field)Description
TRUEnever evaluated
FALSEevaluated 5 times by 1 test
Evaluated by:
  • ectest
)
0-5
73 goto
never executed: goto err;
err;
never executed: goto err;
0
74 }
executed 5 times by 1 test: end of block
Executed by:
  • ectest
else {
5
75 if (group->meth->field_decode
group->meth->field_decodeDescription
TRUEevaluated 2 times by 1 test
Evaluated by:
  • ectest
FALSEnever evaluated
) {
0-2
76 if (!group->meth->field_decode(group, tmp2, &group->a, ctx)
!group->meth->...group->a, ctx)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • ectest
)
0-2
77 goto
never executed: goto err;
err;
never executed: goto err;
0
78 if (!BN_mod_mul(tmp2, tmp2, x, &group->field, ctx)
!BN_mod_mul(tm...p->field, ctx)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • ectest
)
0-2
79 goto
never executed: goto err;
err;
never executed: goto err;
0
80 }
executed 2 times by 1 test: end of block
Executed by:
  • ectest
else {
2
81-
82 if (!group->meth->field_mul(group, tmp2, &group->a, x, ctx)
!group->meth->...up->a, x, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
83 goto
never executed: goto err;
err;
never executed: goto err;
0
84 }
never executed: end of block
0
85-
86 if (!BN_mod_add_quick(tmp1, tmp1, tmp2, &group->field)
!BN_mod_add_qu...&group->field)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • ectest
)
0-2
87 goto
never executed: goto err;
err;
never executed: goto err;
0
88 }
executed 2 times by 1 test: end of block
Executed by:
  • ectest
2
89-
90-
91 if (group->meth->field_decode
group->meth->field_decodeDescription
TRUEevaluated 7 times by 1 test
Evaluated by:
  • ectest
FALSEnever evaluated
) {
0-7
92 if (!group->meth->field_decode(group, tmp2, &group->b, ctx)
!group->meth->...group->b, ctx)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ectest
)
0-7
93 goto
never executed: goto err;
err;
never executed: goto err;
0
94 if (!BN_mod_add_quick(tmp1, tmp1, tmp2, &group->field)
!BN_mod_add_qu...&group->field)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ectest
)
0-7
95 goto
never executed: goto err;
err;
never executed: goto err;
0
96 }
executed 7 times by 1 test: end of block
Executed by:
  • ectest
else {
7
97 if (!BN_mod_add_quick(tmp1, tmp1, &group->b, &group->field)
!BN_mod_add_qu...&group->field)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
98 goto
never executed: goto err;
err;
never executed: goto err;
0
99 }
never executed: end of block
0
100-
101 if (!BN_mod_sqrt(y, tmp1, &group->field, ctx)
!BN_mod_sqrt(y...p->field, ctx)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ectest
) {
0-7
102 unsigned long err = ERR_peek_last_error();-
103-
104 if ((
(int)((((unsig...L)&0xffL) == 3Description
TRUEnever evaluated
FALSEnever evaluated
int)((((unsigned long)err)>>24L)&0xffL) == 3
(int)((((unsig...L)&0xffL) == 3Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(int)((err)&0xfffL) == 111Description
TRUEnever evaluated
FALSEnever evaluated
int)((err)&0xfffL) == 111
(int)((err)&0xfffL) == 111Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
105 ERR_clear_error();-
106 ERR_put_error(16,(0xfff),(110),__FILE__,158);-
107 }
never executed: end of block
else
0
108 ERR_put_error(16,(0xfff),(3),__FILE__,160);
never executed: ERR_put_error(16,(0xfff),(3),__FILE__,160);
0
109 goto
never executed: goto err;
err;
never executed: goto err;
0
110 }-
111 if (y_bit != (((
((y)->top > 0)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • ectest
FALSEnever evaluated
y)->top > 0)
((y)->top > 0)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • ectest
FALSEnever evaluated
&& ((
((y)->d[0] & 1)Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • ectest
FALSEevaluated 3 times by 1 test
Evaluated by:
  • ectest
y)->d[0] & 1)
((y)->d[0] & 1)Description
TRUEevaluated 4 times by 1 test
Evaluated by:
  • ectest
FALSEevaluated 3 times by 1 test
Evaluated by:
  • ectest
)
y_bit != (((y)...y)->d[0] & 1))Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • ectest
FALSEevaluated 4 times by 1 test
Evaluated by:
  • ectest
) {
0-7
112 if (((
((y)->top == 0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • ectest
y)->top == 0)
((y)->top == 0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • ectest
) {
0-3
113 int kron;-
114-
115 kron = BN_kronecker(x, &group->field, ctx);-
116 if (kron == -2
kron == -2Description
TRUEnever evaluated
FALSEnever evaluated
)
0
117 goto
never executed: goto err;
err;
never executed: goto err;
0
118-
119 if (kron == 1
kron == 1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
120 ERR_put_error(16,(0xfff),(109),__FILE__,172);
never executed: ERR_put_error(16,(0xfff),(109),__FILE__,172);
0
121 else-
122-
123-
124-
125-
126 ERR_put_error(16,(0xfff),(110),__FILE__,178);
never executed: ERR_put_error(16,(0xfff),(110),__FILE__,178);
0
127 goto
never executed: goto err;
err;
never executed: goto err;
0
128 }-
129 if (!BN_usub(y, &group->field, y)
!BN_usub(y, &group->field, y)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • ectest
)
0-3
130 goto
never executed: goto err;
err;
never executed: goto err;
0
131 }
executed 3 times by 1 test: end of block
Executed by:
  • ectest
3
132 if (y_bit != (((
((y)->top > 0)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • ectest
FALSEnever evaluated
y)->top > 0)
((y)->top > 0)Description
TRUEevaluated 7 times by 1 test
Evaluated by:
  • ectest
FALSEnever evaluated
&& ((
((y)->d[0] & 1)Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • ectest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • ectest
y)->d[0] & 1)
((y)->d[0] & 1)Description
TRUEevaluated 5 times by 1 test
Evaluated by:
  • ectest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • ectest
)
y_bit != (((y)...y)->d[0] & 1))Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ectest
) {
0-7
133 ERR_put_error(16,(0xfff),((4|64)),__FILE__,185);-
134 goto
never executed: goto err;
err;
never executed: goto err;
0
135 }-
136 if (!EC_POINT_set_affine_coordinates_GFp(group, point, x, y, ctx)
!EC_POINT_set_...nt, x, y, ctx)Description
TRUEnever evaluated
FALSEevaluated 7 times by 1 test
Evaluated by:
  • ectest
)
0-7
137 goto
never executed: goto err;
err;
never executed: goto err;
0
138-
139 ret = 1;-
140-
141 err:
code before this statement executed 7 times by 1 test: err:
Executed by:
  • ectest
7
142 BN_CTX_end(ctx);-
143 BN_CTX_free(new_ctx);-
144 return
executed 7 times by 1 test: return ret;
Executed by:
  • ectest
ret;
executed 7 times by 1 test: return ret;
Executed by:
  • ectest
7
145}-
146-
147-
148size_t-
149ec_GFp_simple_point2oct(const EC_GROUP * group, const EC_POINT * point, point_conversion_form_t form,-
150 unsigned char *buf, size_t len, BN_CTX * ctx)-
151{-
152 size_t ret;-
153 BN_CTX *new_ctx = -
154 ((void *)0)-
155 ;-
156 int used_ctx = 0;-
157 BIGNUM *x, *y;-
158 size_t field_len, i, skip;-
159-
160 if ((
(form != POINT...ON_COMPRESSED)Description
TRUEevaluated 94 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • ectest
form != POINT_CONVERSION_COMPRESSED)
(form != POINT...ON_COMPRESSED)Description
TRUEevaluated 94 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • ectest
1-94
161 && (
(form != POINT..._UNCOMPRESSED)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • ectest
FALSEevaluated 93 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
form != POINT_CONVERSION_UNCOMPRESSED)
(form != POINT..._UNCOMPRESSED)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • ectest
FALSEevaluated 93 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
1-93
162 && (
(form != POINT...ERSION_HYBRID)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • ectest
form != POINT_CONVERSION_HYBRID)
(form != POINT...ERSION_HYBRID)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • ectest
) {
0-1
163 ERR_put_error(16,(0xfff),(104),__FILE__,213);-
164 goto
never executed: goto err;
err;
never executed: goto err;
0
165 }-
166 if (EC_POINT_is_at_infinity(group, point) > 0
EC_POINT_is_at...up, point) > 0Description
TRUEnever evaluated
FALSEevaluated 95 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
) {
0-95
167-
168 if (buf !=
buf != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
169 ((void *)0)
buf != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
170 ) {-
171 if (len < 1
len < 1Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
172 ERR_put_error(16,(0xfff),(100),__FILE__,220);-
173 return
never executed: return 0;
0;
never executed: return 0;
0
174 }-
175 buf[0] = 0;-
176 }
never executed: end of block
0
177 return
never executed: return 1;
1;
never executed: return 1;
0
178 }-
179-
180 field_len = ((BN_num_bits(&group->field)+7)/8);-
181 ret = (
(form == POINT...ON_COMPRESSED)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • ectest
FALSEevaluated 94 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
form == POINT_CONVERSION_COMPRESSED)
(form == POINT...ON_COMPRESSED)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • ectest
FALSEevaluated 94 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
? 1 + field_len : 1 + 2 * field_len;
1-94
182-
183-
184 if (buf !=
buf != ((void *)0)Description
TRUEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
FALSEevaluated 46 times by 1 test
Evaluated by:
  • ssltest
46-49
185 ((void *)0)
buf != ((void *)0)Description
TRUEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
FALSEevaluated 46 times by 1 test
Evaluated by:
  • ssltest
46-49
186 ) {-
187 if (len < ret
len < retDescription
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
) {
0-49
188 ERR_put_error(16,(0xfff),(100),__FILE__,234);-
189 goto
never executed: goto err;
err;
never executed: goto err;
0
190 }-
191 if (ctx ==
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
0-49
192 ((void *)0)
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
0-49
193 ) {-
194 ctx = new_ctx = BN_CTX_new();-
195 if (ctx ==
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
196 ((void *)0)
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
197 )-
198 return
never executed: return 0;
0;
never executed: return 0;
0
199 }
never executed: end of block
0
200 BN_CTX_start(ctx);-
201 used_ctx = 1;-
202 if ((
(x = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
x = BN_CTX_get(ctx)) ==
(x = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
0-49
203 ((void *)0)
(x = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
0-49
204 )-
205 goto
never executed: goto err;
err;
never executed: goto err;
0
206 if ((
(y = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
y = BN_CTX_get(ctx)) ==
(y = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
0-49
207 ((void *)0)
(y = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
0-49
208 )-
209 goto
never executed: goto err;
err;
never executed: goto err;
0
210-
211 if (!EC_POINT_get_affine_coordinates_GFp(group, point, x, y, ctx)
!EC_POINT_get_...nt, x, y, ctx)Description
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
)
0-49
212 goto
never executed: goto err;
err;
never executed: goto err;
0
213-
214 if ((form == POINT_CONVERSION_COMPRESSED
form == POINT_...ION_COMPRESSEDDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • ectest
FALSEevaluated 48 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
|| form == POINT_CONVERSION_HYBRID
form == POINT_...VERSION_HYBRIDDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • ectest
FALSEevaluated 47 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
) && (((
((y)->top > 0)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • ectest
FALSEnever evaluated
y)->top > 0)
((y)->top > 0)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • ectest
FALSEnever evaluated
&& ((
((y)->d[0] & 1)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • ectest
FALSEnever evaluated
y)->d[0] & 1)
((y)->d[0] & 1)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • ectest
FALSEnever evaluated
))
0-48
215 buf[0] = form + 1;
executed 2 times by 1 test: buf[0] = form + 1;
Executed by:
  • ectest
2
216 else-
217 buf[0] = form;
executed 47 times by 2 tests: buf[0] = form;
Executed by:
  • ectest
  • ssltest
47
218-
219 i = 1;-
220-
221 skip = field_len - ((BN_num_bits(x)+7)/8);-
222 if (skip > field_len
skip > field_lenDescription
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
) {
0-49
223 ERR_put_error(16,(0xfff),((4|64)),__FILE__,261);-
224 goto
never executed: goto err;
err;
never executed: goto err;
0
225 }-
226 while (skip > 0
skip > 0Description
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
) {
0-49
227 buf[i++] = 0;-
228 skip--;-
229 }
never executed: end of block
0
230 skip = BN_bn2bin(x, buf + i);-
231 i += skip;-
232 if (i != 1 + field_len
i != 1 + field_lenDescription
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
) {
0-49
233 ERR_put_error(16,(0xfff),((4|64)),__FILE__,271);-
234 goto
never executed: goto err;
err;
never executed: goto err;
0
235 }-
236 if (form == POINT_CONVERSION_UNCOMPRESSED
form == POINT_...N_UNCOMPRESSEDDescription
TRUEevaluated 47 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • ectest
|| form == POINT_CONVERSION_HYBRID
form == POINT_...VERSION_HYBRIDDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • ectest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • ectest
) {
1-47
237 skip = field_len - ((BN_num_bits(y)+7)/8);-
238 if (skip > field_len
skip > field_lenDescription
TRUEnever evaluated
FALSEevaluated 48 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
) {
0-48
239 ERR_put_error(16,(0xfff),((4|64)),__FILE__,277);-
240 goto
never executed: goto err;
err;
never executed: goto err;
0
241 }-
242 while (skip > 0
skip > 0Description
TRUEnever evaluated
FALSEevaluated 48 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
) {
0-48
243 buf[i++] = 0;-
244 skip--;-
245 }
never executed: end of block
0
246 skip = BN_bn2bin(y, buf + i);-
247 i += skip;-
248 }
executed 48 times by 2 tests: end of block
Executed by:
  • ectest
  • ssltest
48
249 if (i != ret
i != retDescription
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
) {
0-49
250 ERR_put_error(16,(0xfff),((4|64)),__FILE__,288);-
251 goto
never executed: goto err;
err;
never executed: goto err;
0
252 }-
253 }
executed 49 times by 2 tests: end of block
Executed by:
  • ectest
  • ssltest
49
254 if (used_ctx
used_ctxDescription
TRUEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
FALSEevaluated 46 times by 1 test
Evaluated by:
  • ssltest
)
46-49
255 BN_CTX_end(ctx);
executed 49 times by 2 tests: BN_CTX_end(ctx);
Executed by:
  • ectest
  • ssltest
49
256 BN_CTX_free(new_ctx);-
257 return
executed 95 times by 2 tests: return ret;
Executed by:
  • ectest
  • ssltest
ret;
executed 95 times by 2 tests: return ret;
Executed by:
  • ectest
  • ssltest
95
258-
259 err:-
260 if (used_ctx
used_ctxDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
261 BN_CTX_end(ctx);
never executed: BN_CTX_end(ctx);
0
262 BN_CTX_free(new_ctx);-
263 return
never executed: return 0;
0;
never executed: return 0;
0
264}-
265-
266-
267int-
268ec_GFp_simple_oct2point(const EC_GROUP * group, EC_POINT * point,-
269 const unsigned char *buf, size_t len, BN_CTX * ctx)-
270{-
271 point_conversion_form_t form;-
272 int y_bit;-
273 BN_CTX *new_ctx = -
274 ((void *)0)-
275 ;-
276 BIGNUM *x, *y;-
277 size_t field_len, enc_len;-
278 int ret = 0;-
279-
280 if (len == 0
len == 0Description
TRUEnever evaluated
FALSEevaluated 50 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
) {
0-50
281 ERR_put_error(16,(0xfff),(100),__FILE__,317);-
282 return
never executed: return 0;
0;
never executed: return 0;
0
283 }-
284 form = buf[0];-
285 y_bit = form & 1;-
286 form = form & ~1U;-
287 if ((
(form != 0)Description
TRUEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • ectest
form != 0)
(form != 0)Description
TRUEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • ectest
&& (
(form != POINT...ON_COMPRESSED)Description
TRUEevaluated 48 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • ectest
form != POINT_CONVERSION_COMPRESSED)
(form != POINT...ON_COMPRESSED)Description
TRUEevaluated 48 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
FALSEevaluated 1 time by 1 test
Evaluated by:
  • ectest
1-49
288 && (
(form != POINT..._UNCOMPRESSED)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • ectest
FALSEevaluated 47 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
form != POINT_CONVERSION_UNCOMPRESSED)
(form != POINT..._UNCOMPRESSED)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • ectest
FALSEevaluated 47 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
1-47
289 && (
(form != POINT...ERSION_HYBRID)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • ectest
form != POINT_CONVERSION_HYBRID)
(form != POINT...ERSION_HYBRID)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • ectest
) {
0-1
290 ERR_put_error(16,(0xfff),(102),__FILE__,326);-
291 return
never executed: return 0;
0;
never executed: return 0;
0
292 }-
293 if ((form == 0
form == 0Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • ectest
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
|| form == POINT_CONVERSION_UNCOMPRESSED
form == POINT_...N_UNCOMPRESSEDDescription
TRUEevaluated 47 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • ectest
) && y_bit
y_bitDescription
TRUEnever evaluated
FALSEevaluated 48 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
) {
0-49
294 ERR_put_error(16,(0xfff),(102),__FILE__,330);-
295 return
never executed: return 0;
0;
never executed: return 0;
0
296 }-
297 if (form == 0
form == 0Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • ectest
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
) {
1-49
298 if (len != 1
len != 1Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • ectest
) {
0-1
299 ERR_put_error(16,(0xfff),(102),__FILE__,335);-
300 return
never executed: return 0;
0;
never executed: return 0;
0
301 }-
302 return
executed 1 time by 1 test: return EC_POINT_set_to_infinity(group, point);
Executed by:
  • ectest
EC_POINT_set_to_infinity(group, point);
executed 1 time by 1 test: return EC_POINT_set_to_infinity(group, point);
Executed by:
  • ectest
1
303 }-
304 field_len = ((BN_num_bits(&group->field)+7)/8);-
305 enc_len = (
(form == POINT...ON_COMPRESSED)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • ectest
FALSEevaluated 48 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
form == POINT_CONVERSION_COMPRESSED)
(form == POINT...ON_COMPRESSED)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • ectest
FALSEevaluated 48 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
? 1 + field_len : 1 + 2 * field_len;
1-48
306-
307 if (len != enc_len
len != enc_lenDescription
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
) {
0-49
308 ERR_put_error(16,(0xfff),(102),__FILE__,344);-
309 return
never executed: return 0;
0;
never executed: return 0;
0
310 }-
311 if (ctx ==
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
0-49
312 ((void *)0)
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
0-49
313 ) {-
314 ctx = new_ctx = BN_CTX_new();-
315 if (ctx ==
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
316 ((void *)0)
ctx == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
317 )-
318 return
never executed: return 0;
0;
never executed: return 0;
0
319 }
never executed: end of block
0
320 BN_CTX_start(ctx);-
321 if ((
(x = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
x = BN_CTX_get(ctx)) ==
(x = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
0-49
322 ((void *)0)
(x = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
0-49
323 )-
324 goto
never executed: goto err;
err;
never executed: goto err;
0
325 if ((
(y = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
y = BN_CTX_get(ctx)) ==
(y = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
0-49
326 ((void *)0)
(y = BN_CTX_ge...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
0-49
327 )-
328 goto
never executed: goto err;
err;
never executed: goto err;
0
329-
330 if (!BN_bin2bn(buf + 1, field_len, x)
!BN_bin2bn(buf... field_len, x)Description
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
)
0-49
331 goto
never executed: goto err;
err;
never executed: goto err;
0
332 if (BN_ucmp(x, &group->field) >= 0
BN_ucmp(x, &group->field) >= 0Description
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
) {
0-49
333 ERR_put_error(16,(0xfff),(102),__FILE__,361);-
334 goto
never executed: goto err;
err;
never executed: goto err;
0
335 }-
336 if (form == POINT_CONVERSION_COMPRESSED
form == POINT_...ION_COMPRESSEDDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • ectest
FALSEevaluated 48 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
) {
1-48
337 if (!EC_POINT_set_compressed_coordinates_GFp(group, point, x, y_bit, ctx)
!EC_POINT_set_...x, y_bit, ctx)Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • ectest
)
0-1
338 goto
never executed: goto err;
err;
never executed: goto err;
0
339 }
executed 1 time by 1 test: end of block
Executed by:
  • ectest
else {
1
340 if (!BN_bin2bn(buf + 1 + field_len, field_len, y)
!BN_bin2bn(buf... field_len, y)Description
TRUEnever evaluated
FALSEevaluated 48 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
)
0-48
341 goto
never executed: goto err;
err;
never executed: goto err;
0
342 if (BN_ucmp(y, &group->field) >= 0
BN_ucmp(y, &group->field) >= 0Description
TRUEnever evaluated
FALSEevaluated 48 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
) {
0-48
343 ERR_put_error(16,(0xfff),(102),__FILE__,371);-
344 goto
never executed: goto err;
err;
never executed: goto err;
0
345 }-
346 if (form == POINT_CONVERSION_HYBRID
form == POINT_...VERSION_HYBRIDDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • ectest
FALSEevaluated 47 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
) {
1-47
347 if (y_bit != (((
((y)->top > 0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • ectest
FALSEnever evaluated
y)->top > 0)
((y)->top > 0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • ectest
FALSEnever evaluated
&& ((
((y)->d[0] & 1)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • ectest
FALSEnever evaluated
y)->d[0] & 1)
((y)->d[0] & 1)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • ectest
FALSEnever evaluated
)
y_bit != (((y)...y)->d[0] & 1))Description
TRUEnever evaluated
FALSEevaluated 1 time by 1 test
Evaluated by:
  • ectest
) {
0-1
348 ERR_put_error(16,(0xfff),(102),__FILE__,376);-
349 goto
never executed: goto err;
err;
never executed: goto err;
0
350 }-
351 }
executed 1 time by 1 test: end of block
Executed by:
  • ectest
1
352 if (!EC_POINT_set_affine_coordinates_GFp(group, point, x, y, ctx)
!EC_POINT_set_...nt, x, y, ctx)Description
TRUEnever evaluated
FALSEevaluated 48 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
)
0-48
353 goto
never executed: goto err;
err;
never executed: goto err;
0
354 }
executed 48 times by 2 tests: end of block
Executed by:
  • ectest
  • ssltest
48
355-
356-
357 if (EC_POINT_is_on_curve(group, point, ctx) <= 0
EC_POINT_is_on...int, ctx) <= 0Description
TRUEnever evaluated
FALSEevaluated 49 times by 2 tests
Evaluated by:
  • ectest
  • ssltest
) {
0-49
358 ERR_put_error(16,(0xfff),(107),__FILE__,386);-
359 goto
never executed: goto err;
err;
never executed: goto err;
0
360 }-
361 ret = 1;-
362-
363 err:
code before this statement executed 49 times by 2 tests: err:
Executed by:
  • ectest
  • ssltest
49
364 BN_CTX_end(ctx);-
365 BN_CTX_free(new_ctx);-
366 return
executed 49 times by 2 tests: return ret;
Executed by:
  • ectest
  • ssltest
ret;
executed 49 times by 2 tests: return ret;
Executed by:
  • ectest
  • ssltest
49
367}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2