OpenCoverage

ec_print.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/ec/ec_print.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2BIGNUM *-
3EC_POINT_point2bn(const EC_GROUP * group, const EC_POINT * point,-
4 point_conversion_form_t form, BIGNUM * ret, BN_CTX * ctx)-
5{-
6 size_t buf_len = 0;-
7 unsigned char *buf;-
8-
9 buf_len = EC_POINT_point2oct(group, point, form,-
10 -
11 ((void *)0)-
12 , 0, ctx);-
13 if (buf_len == 0
buf_len == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
14 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
15 ((void *)0)
never executed: return ((void *)0) ;
0
16 ;
never executed: return ((void *)0) ;
0
17-
18 if ((
(buf = malloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
buf = malloc(buf_len)) ==
(buf = malloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
19 ((void *)0)
(buf = malloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
20 )-
21 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
22 ((void *)0)
never executed: return ((void *)0) ;
0
23 ;
never executed: return ((void *)0) ;
0
24-
25 if (!EC_POINT_point2oct(group, point, form, buf, buf_len, ctx)
!EC_POINT_poin... buf_len, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
26 free(buf);-
27 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
28 ((void *)0)
never executed: return ((void *)0) ;
0
29 ;
never executed: return ((void *)0) ;
0
30 }-
31 ret = BN_bin2bn(buf, buf_len, ret);-
32-
33 free(buf);-
34-
35 return
never executed: return ret;
ret;
never executed: return ret;
0
36}-
37-
38EC_POINT *-
39EC_POINT_bn2point(const EC_GROUP * group,-
40 const BIGNUM * bn, EC_POINT * point, BN_CTX * ctx)-
41{-
42 size_t buf_len = 0;-
43 unsigned char *buf;-
44 EC_POINT *ret;-
45-
46 if ((
(buf_len = ((B...n)+7)/8)) == 0Description
TRUEnever evaluated
FALSEnever evaluated
buf_len = ((BN_num_bits(bn)+7)/8)) == 0
(buf_len = ((B...n)+7)/8)) == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
47 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
48 ((void *)0)
never executed: return ((void *)0) ;
0
49 ;
never executed: return ((void *)0) ;
0
50 buf = malloc(buf_len);-
51 if (buf ==
buf == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
52 ((void *)0)
buf == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
53 )-
54 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
55 ((void *)0)
never executed: return ((void *)0) ;
0
56 ;
never executed: return ((void *)0) ;
0
57-
58 if (!BN_bn2bin(bn, buf)
!BN_bn2bin(bn, buf)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
59 free(buf);-
60 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
61 ((void *)0)
never executed: return ((void *)0) ;
0
62 ;
never executed: return ((void *)0) ;
0
63 }-
64 if (point ==
point == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
65 ((void *)0)
point == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
66 ) {-
67 if ((
(ret = EC_POIN...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
ret = EC_POINT_new(group)) ==
(ret = EC_POIN...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
68 ((void *)0)
(ret = EC_POIN...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
69 ) {-
70 free(buf);-
71 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
72 ((void *)0)
never executed: return ((void *)0) ;
0
73 ;
never executed: return ((void *)0) ;
0
74 }-
75 }
never executed: end of block
else
0
76 ret = point;
never executed: ret = point;
0
77-
78 if (!EC_POINT_oct2point(group, ret, buf, buf_len, ctx)
!EC_POINT_oct2... buf_len, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
79 if (point ==
point == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
80 ((void *)0)
point == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
81 )-
82 EC_POINT_clear_free(ret);
never executed: EC_POINT_clear_free(ret);
0
83 free(buf);-
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 free(buf);-
89 return
never executed: return ret;
ret;
never executed: return ret;
0
90}-
91-
92static const char *HEX_DIGITS = "0123456789ABCDEF";-
93-
94-
95char *-
96EC_POINT_point2hex(const EC_GROUP * group, const EC_POINT * point,-
97 point_conversion_form_t form, BN_CTX * ctx)-
98{-
99 char *ret, *p;-
100 size_t buf_len = 0, i;-
101 unsigned char *buf, *pbuf;-
102-
103 buf_len = EC_POINT_point2oct(group, point, form,-
104 -
105 ((void *)0)-
106 , 0, ctx);-
107 if (buf_len == 0
buf_len == 0Description
TRUEnever evaluated
FALSEnever evaluated
|| buf_len + 1 == 0
buf_len + 1 == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
108 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
109 ((void *)0)
never executed: return ((void *)0) ;
0
110 ;
never executed: return ((void *)0) ;
0
111-
112 if ((
(buf = malloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
buf = malloc(buf_len)) ==
(buf = malloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
113 ((void *)0)
(buf = malloc(...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
114 )-
115 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
116 ((void *)0)
never executed: return ((void *)0) ;
0
117 ;
never executed: return ((void *)0) ;
0
118-
119 if (!EC_POINT_point2oct(group, point, form, buf, buf_len, ctx)
!EC_POINT_poin... buf_len, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
120 free(buf);-
121 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
122 ((void *)0)
never executed: return ((void *)0) ;
0
123 ;
never executed: return ((void *)0) ;
0
124 }-
125 ret = reallocarray(-
126 ((void *)0)-
127 , buf_len + 1, 2);-
128 if (ret ==
ret == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
129 ((void *)0)
ret == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
130 ) {-
131 free(buf);-
132 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
133 ((void *)0)
never executed: return ((void *)0) ;
0
134 ;
never executed: return ((void *)0) ;
0
135 }-
136 p = ret;-
137 pbuf = buf;-
138 for (i = buf_len; i > 0
i > 0Description
TRUEnever evaluated
FALSEnever evaluated
; i--) {
0
139 int v = (int) *(pbuf++);-
140 *(p++) = HEX_DIGITS[v >> 4];-
141 *(p++) = HEX_DIGITS[v & 0x0F];-
142 }
never executed: end of block
0
143 *p = '\0';-
144-
145 free(buf);-
146-
147 return
never executed: return ret;
ret;
never executed: return ret;
0
148}-
149-
150EC_POINT *-
151EC_POINT_hex2point(const EC_GROUP * group, const char *buf,-
152 EC_POINT * point, BN_CTX * ctx)-
153{-
154 EC_POINT *ret = -
155 ((void *)0)-
156 ;-
157 BIGNUM *tmp_bn = -
158 ((void *)0)-
159 ;-
160-
161 if (!BN_hex2bn(&tmp_bn, buf)
!BN_hex2bn(&tmp_bn, buf)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
162 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
163 ((void *)0)
never executed: return ((void *)0) ;
0
164 ;
never executed: return ((void *)0) ;
0
165-
166 ret = EC_POINT_bn2point(group, tmp_bn, point, ctx);-
167-
168 BN_clear_free(tmp_bn);-
169-
170 return
never executed: return ret;
ret;
never executed: return ret;
0
171}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2