OpenCoverage

ec_print.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/openssl/src/crypto/ec/ec_print.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2BIGNUM *EC_POINT_point2bn(const EC_GROUP *group,-
3 const EC_POINT *point,-
4 point_conversion_form_t form,-
5 BIGNUM *ret, BN_CTX *ctx)-
6{-
7 size_t buf_len = 0;-
8 unsigned char *buf;-
9-
10 buf_len = EC_POINT_point2buf(group, point, form, &buf, ctx);-
11-
12 if (buf_len == 0
buf_len == 0Description
TRUEnever evaluated
FALSEevaluated 45 times by 1 test
Evaluated by:
  • libcrypto.so.1.1
)
0-45
13 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
14 ((void *)0)
never executed: return ((void *)0) ;
0
15 ;
never executed: return ((void *)0) ;
0
16-
17 ret = BN_bin2bn(buf, buf_len, ret);-
18-
19 CRYPTO_free(buf, __FILE__, 29);-
20-
21 return
executed 45 times by 1 test: return ret;
Executed by:
  • libcrypto.so.1.1
ret;
executed 45 times by 1 test: return ret;
Executed by:
  • libcrypto.so.1.1
45
22}-
23-
24EC_POINT *EC_POINT_bn2point(const EC_GROUP *group,-
25 const BIGNUM *bn, EC_POINT *point, BN_CTX *ctx)-
26{-
27 size_t buf_len = 0;-
28 unsigned char *buf;-
29 EC_POINT *ret;-
30-
31 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
32 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
33 ((void *)0)
never executed: return ((void *)0) ;
0
34 ;
never executed: return ((void *)0) ;
0
35 if ((
(buf = CRYPTO_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
buf = CRYPTO_malloc(buf_len, __FILE__, 43)) ==
(buf = CRYPTO_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
36 ((void *)0)
(buf = CRYPTO_...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
37 ) {-
38 ERR_put_error(16,(280),((1|64)),__FILE__,44);-
39 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
40 ((void *)0)
never executed: return ((void *)0) ;
0
41 ;
never executed: return ((void *)0) ;
0
42 }-
43-
44 if (!BN_bn2bin(bn, buf)
!BN_bn2bin(bn, buf)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
45 CRYPTO_free(buf, __FILE__, 49);-
46 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
47 ((void *)0)
never executed: return ((void *)0) ;
0
48 ;
never executed: return ((void *)0) ;
0
49 }-
50-
51 if (point ==
point == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
52 ((void *)0)
point == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
53 ) {-
54 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
55 ((void *)0)
(ret = EC_POIN...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
56 ) {-
57 CRYPTO_free(buf, __FILE__, 55);-
58 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
59 ((void *)0)
never executed: return ((void *)0) ;
0
60 ;
never executed: return ((void *)0) ;
0
61 }-
62 }
never executed: end of block
else
0
63 ret = point;
never executed: ret = point;
0
64-
65 if (!EC_POINT_oct2point(group, ret, buf, buf_len, ctx)
!EC_POINT_oct2... buf_len, ctx)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
66 if (ret != point
ret != pointDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
67 EC_POINT_clear_free(ret);
never executed: EC_POINT_clear_free(ret);
0
68 CRYPTO_free(buf, __FILE__, 64);-
69 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
70 ((void *)0)
never executed: return ((void *)0) ;
0
71 ;
never executed: return ((void *)0) ;
0
72 }-
73-
74 CRYPTO_free(buf, __FILE__, 68);-
75 return
never executed: return ret;
ret;
never executed: return ret;
0
76}-
77-
78static const char *HEX_DIGITS = "0123456789ABCDEF";-
79-
80-
81char *EC_POINT_point2hex(const EC_GROUP *group,-
82 const EC_POINT *point,-
83 point_conversion_form_t form, BN_CTX *ctx)-
84{-
85 char *ret, *p;-
86 size_t buf_len = 0, i;-
87 unsigned char *buf = -
88 ((void *)0)-
89 , *pbuf;-
90-
91 buf_len = EC_POINT_point2buf(group, point, form, &buf, ctx);-
92-
93 if (buf_len == 0
buf_len == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
94 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
95 ((void *)0)
never executed: return ((void *)0) ;
0
96 ;
never executed: return ((void *)0) ;
0
97-
98 ret = CRYPTO_malloc(buf_len * 2 + 2, __FILE__, 88);-
99 if (ret ==
ret == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
100 ((void *)0)
ret == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
101 ) {-
102 CRYPTO_free(buf, __FILE__, 90);-
103 return
never executed: return ((void *)0) ;
never executed: return ((void *)0) ;
0
104 ((void *)0)
never executed: return ((void *)0) ;
0
105 ;
never executed: return ((void *)0) ;
0
106 }-
107 p = ret;-
108 pbuf = buf;-
109 for (i = buf_len; i > 0
i > 0Description
TRUEnever evaluated
FALSEnever evaluated
; i--) {
0
110 int v = (int)*(pbuf++);-
111 *(p++) = HEX_DIGITS[v >> 4];-
112 *(p++) = HEX_DIGITS[v & 0x0F];-
113 }
never executed: end of block
0
114 *p = '\0';-
115-
116 CRYPTO_free(buf, __FILE__, 102);-
117-
118 return
never executed: return ret;
ret;
never executed: return ret;
0
119}-
120-
121EC_POINT *EC_POINT_hex2point(const EC_GROUP *group,-
122 const char *buf, EC_POINT *point, BN_CTX *ctx)-
123{-
124 EC_POINT *ret = -
125 ((void *)0)-
126 ;-
127 BIGNUM *tmp_bn = -
128 ((void *)0)-
129 ;-
130-
131 if (!BN_hex2bn(&tmp_bn, buf)
!BN_hex2bn(&tmp_bn, buf)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
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 ret = EC_POINT_bn2point(group, tmp_bn, point, ctx);-
137-
138 BN_clear_free(tmp_bn);-
139-
140 return
never executed: return ret;
ret;
never executed: return ret;
0
141}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2