OpenCoverage

a_int.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/asn1/a_int.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4ASN1_INTEGER *-
5ASN1_INTEGER_dup(const ASN1_INTEGER *x)-
6{-
7 return
never executed: return ASN1_STRING_dup(x);
ASN1_STRING_dup(x);
never executed: return ASN1_STRING_dup(x);
0
8}-
9-
10int-
11ASN1_INTEGER_cmp(const ASN1_INTEGER *x, const ASN1_INTEGER *y)-
12{-
13 int neg, ret;-
14-
15-
16 neg = x->type & 0x100;-
17 if (neg != (y->type & 0x100)
neg != (y->type & 0x100)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
18 if (neg
negDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
19 return
never executed: return -1;
-1;
never executed: return -1;
0
20 else-
21 return
never executed: return 1;
1;
never executed: return 1;
0
22 }-
23-
24 ret = ASN1_STRING_cmp(x, y);-
25-
26 if (neg
negDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
27 return
never executed: return -ret;
-ret;
never executed: return -ret;
0
28 else-
29 return
never executed: return ret;
ret;
never executed: return ret;
0
30}-
31int-
32i2c_ASN1_INTEGER(ASN1_INTEGER *a, unsigned char **pp)-
33{-
34 int pad = 0, ret, i, neg;-
35 unsigned char *p, *n, pb = 0;-
36-
37 if (a ==
a == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 206 times by 4 tests
Evaluated by:
  • asn1evp
  • ecdsatest
  • libcrypto.so.44.0.1
  • pkcs7test
0-206
38 ((void *)0)
a == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 206 times by 4 tests
Evaluated by:
  • asn1evp
  • ecdsatest
  • libcrypto.so.44.0.1
  • pkcs7test
0-206
39 )-
40 return
never executed: return (0);
(0);
never executed: return (0);
0
41 neg = a->type & 0x100;-
42 if (a->length == 0
a->length == 0Description
TRUEevaluated 18 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • pkcs7test
FALSEevaluated 188 times by 4 tests
Evaluated by:
  • asn1evp
  • ecdsatest
  • libcrypto.so.44.0.1
  • pkcs7test
)
18-188
43 ret = 1;
executed 18 times by 2 tests: ret = 1;
Executed by:
  • libcrypto.so.44.0.1
  • pkcs7test
18
44 else {-
45 ret = a->length;-
46 i = a->data[0];-
47 if (!neg
!negDescription
TRUEevaluated 188 times by 4 tests
Evaluated by:
  • asn1evp
  • ecdsatest
  • libcrypto.so.44.0.1
  • pkcs7test
FALSEnever evaluated
&& (
(i > 127)Description
TRUEevaluated 133 times by 3 tests
Evaluated by:
  • ecdsatest
  • libcrypto.so.44.0.1
  • pkcs7test
FALSEevaluated 55 times by 3 tests
Evaluated by:
  • asn1evp
  • libcrypto.so.44.0.1
  • pkcs7test
i > 127)
(i > 127)Description
TRUEevaluated 133 times by 3 tests
Evaluated by:
  • ecdsatest
  • libcrypto.so.44.0.1
  • pkcs7test
FALSEevaluated 55 times by 3 tests
Evaluated by:
  • asn1evp
  • libcrypto.so.44.0.1
  • pkcs7test
) {
0-188
48 pad = 1;-
49 pb = 0;-
50 }
executed 133 times by 3 tests: end of block
Executed by:
  • ecdsatest
  • libcrypto.so.44.0.1
  • pkcs7test
else if (neg
negDescription
TRUEnever evaluated
FALSEevaluated 55 times by 3 tests
Evaluated by:
  • asn1evp
  • libcrypto.so.44.0.1
  • pkcs7test
) {
0-133
51 if (i > 128
i > 128Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
52 pad = 1;-
53 pb = 0xFF;-
54 }
never executed: end of block
else if (i == 128
i == 128Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
55-
56-
57-
58-
59 for (i = 1; i < a->length
i < a->lengthDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) if (a->data[i]
a->data[i]Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
60 pad = 1;-
61 pb = 0xFF;-
62 break;
never executed: break;
0
63 }-
64 }
never executed: end of block
0
65 }
never executed: end of block
0
66 ret += pad;-
67 }
executed 188 times by 4 tests: end of block
Executed by:
  • asn1evp
  • ecdsatest
  • libcrypto.so.44.0.1
  • pkcs7test
188
68 if (pp ==
pp == ((void *)0)Description
TRUEevaluated 184 times by 4 tests
Evaluated by:
  • asn1evp
  • ecdsatest
  • libcrypto.so.44.0.1
  • pkcs7test
FALSEevaluated 22 times by 3 tests
Evaluated by:
  • asn1evp
  • libcrypto.so.44.0.1
  • pkcs7test
22-184
69 ((void *)0)
pp == ((void *)0)Description
TRUEevaluated 184 times by 4 tests
Evaluated by:
  • asn1evp
  • ecdsatest
  • libcrypto.so.44.0.1
  • pkcs7test
FALSEevaluated 22 times by 3 tests
Evaluated by:
  • asn1evp
  • libcrypto.so.44.0.1
  • pkcs7test
22-184
70 )-
71 return
executed 184 times by 4 tests: return (ret);
Executed by:
  • asn1evp
  • ecdsatest
  • libcrypto.so.44.0.1
  • pkcs7test
(ret);
executed 184 times by 4 tests: return (ret);
Executed by:
  • asn1evp
  • ecdsatest
  • libcrypto.so.44.0.1
  • pkcs7test
184
72 p= *pp;-
73-
74 if (pad
padDescription
TRUEevaluated 9 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • pkcs7test
FALSEevaluated 13 times by 3 tests
Evaluated by:
  • asn1evp
  • libcrypto.so.44.0.1
  • pkcs7test
)
9-13
75 *(
executed 9 times by 2 tests: *(p++) = pb;
Executed by:
  • libcrypto.so.44.0.1
  • pkcs7test
p++) = pb;
executed 9 times by 2 tests: *(p++) = pb;
Executed by:
  • libcrypto.so.44.0.1
  • pkcs7test
9
76 if (a->length == 0
a->length == 0Description
TRUEevaluated 3 times by 2 tests
Evaluated by:
  • libcrypto.so.44.0.1
  • pkcs7test
FALSEevaluated 19 times by 3 tests
Evaluated by:
  • asn1evp
  • libcrypto.so.44.0.1
  • pkcs7test
)
3-19
77 *(
executed 3 times by 2 tests: *(p++) = 0;
Executed by:
  • libcrypto.so.44.0.1
  • pkcs7test
p++) = 0;
executed 3 times by 2 tests: *(p++) = 0;
Executed by:
  • libcrypto.so.44.0.1
  • pkcs7test
3
78 else if (!neg
!negDescription
TRUEevaluated 19 times by 3 tests
Evaluated by:
  • asn1evp
  • libcrypto.so.44.0.1
  • pkcs7test
FALSEnever evaluated
)
0-19
79 memcpy(p, a->data, a->length);
executed 19 times by 3 tests: memcpy(p, a->data, a->length);
Executed by:
  • asn1evp
  • libcrypto.so.44.0.1
  • pkcs7test
19
80 else {-
81-
82 n = a->data + a->length - 1;-
83 p += a->length - 1;-
84 i = a->length;-
85-
86 while (!*n
!*nDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
87 *(p--) = 0;-
88 n--;-
89 i--;-
90 }
never executed: end of block
0
91-
92 *(p--) = ((*(n--)) ^ 0xff) + 1;-
93 i--;-
94-
95 for (; i > 0
i > 0Description
TRUEnever evaluated
FALSEnever evaluated
; i--)
0
96 *(
never executed: *(p--) = *(n--) ^ 0xff;
p--) = *(n--) ^ 0xff;
never executed: *(p--) = *(n--) ^ 0xff;
0
97 }
never executed: end of block
0
98-
99 *pp += ret;-
100 return
executed 22 times by 3 tests: return (ret);
Executed by:
  • asn1evp
  • libcrypto.so.44.0.1
  • pkcs7test
(ret);
executed 22 times by 3 tests: return (ret);
Executed by:
  • asn1evp
  • libcrypto.so.44.0.1
  • pkcs7test
22
101}-
102-
103-
104-
105ASN1_INTEGER *-
106c2i_ASN1_INTEGER(ASN1_INTEGER **a, const unsigned char **pp, long len)-
107{-
108 ASN1_INTEGER *ret = -
109 ((void *)0)-
110 ;-
111 const unsigned char *p, *pend;-
112 unsigned char *to, *s;-
113 int i;-
114-
115 if ((
(a == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 449 times by 8 tests
Evaluated by:
  • asn1evp
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
a ==
(a == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 449 times by 8 tests
Evaluated by:
  • asn1evp
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-449
116 ((void *)0)
(a == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 449 times by 8 tests
Evaluated by:
  • asn1evp
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-449
117 )
(a == ((void *)0) )Description
TRUEnever evaluated
FALSEevaluated 449 times by 8 tests
Evaluated by:
  • asn1evp
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
|| ((*
((*a) == ((void *)0) )Description
TRUEevaluated 219 times by 7 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 230 times by 8 tests
Evaluated by:
  • asn1evp
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
a) ==
((*a) == ((void *)0) )Description
TRUEevaluated 219 times by 7 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 230 times by 8 tests
Evaluated by:
  • asn1evp
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-449
118 ((void *)0)
((*a) == ((void *)0) )Description
TRUEevaluated 219 times by 7 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 230 times by 8 tests
Evaluated by:
  • asn1evp
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
219-230
119 )
((*a) == ((void *)0) )Description
TRUEevaluated 219 times by 7 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 230 times by 8 tests
Evaluated by:
  • asn1evp
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
) {
219-230
120 if ((
(ret = ASN1_IN...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 219 times by 7 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
ret = ASN1_INTEGER_new()) ==
(ret = ASN1_IN...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 219 times by 7 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-219
121 ((void *)0)
(ret = ASN1_IN...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 219 times by 7 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-219
122 )-
123 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
124 ((void *)0)
never executed: return ( ((void *)0) );
0
125 );
never executed: return ( ((void *)0) );
0
126 }
executed 219 times by 7 tests: end of block
Executed by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
else
219
127 ret = (*a);
executed 230 times by 8 tests: ret = (*a);
Executed by:
  • asn1evp
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
230
128-
129 p = *pp;-
130 pend = p + len;-
131-
132-
133-
134 s = malloc(len + 1);-
135 if (s ==
s == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 449 times by 8 tests
Evaluated by:
  • asn1evp
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-449
136 ((void *)0)
s == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 449 times by 8 tests
Evaluated by:
  • asn1evp
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-449
137 ) {-
138 i = (1|64);-
139 goto
never executed: goto err;
err;
never executed: goto err;
0
140 }-
141 to = s;-
142 if (!len
!lenDescription
TRUEnever evaluated
FALSEevaluated 449 times by 8 tests
Evaluated by:
  • asn1evp
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
) {
0-449
143-
144-
145-
146 ret->type = 2;-
147 }
never executed: end of block
else if (*
*p & 0x80Description
TRUEnever evaluated
FALSEevaluated 449 times by 8 tests
Evaluated by:
  • asn1evp
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
p & 0x80
*p & 0x80Description
TRUEnever evaluated
FALSEevaluated 449 times by 8 tests
Evaluated by:
  • asn1evp
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
) {
0-449
148 ret->type = (2 | 0x100);-
149 if ((*
(*p == 0xff)Description
TRUEnever evaluated
FALSEnever evaluated
p == 0xff)
(*p == 0xff)Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(len != 1)Description
TRUEnever evaluated
FALSEnever evaluated
len != 1)
(len != 1)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
150 p++;-
151 len--;-
152 }
never executed: end of block
0
153 i = len;-
154 p += i - 1;-
155 to += i - 1;-
156 while((
(!*p)Description
TRUEnever evaluated
FALSEnever evaluated
!*p)
(!*p)Description
TRUEnever evaluated
FALSEnever evaluated
&& i
iDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
157 *(to--) = 0;-
158 i--;-
159 p--;-
160 }
never executed: end of block
0
161-
162-
163-
164-
165-
166-
167-
168 if (!i
!iDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
169 *s = 1;-
170 s[len] = 0;-
171 len++;-
172 }
never executed: end of block
else {
0
173 *(to--) = (*(p--) ^ 0xff) + 1;-
174 i--;-
175 for (; i > 0
i > 0Description
TRUEnever evaluated
FALSEnever evaluated
; i--)
0
176 *(
never executed: *(to--) = *(p--) ^ 0xff;
to--) = *(p--) ^ 0xff;
never executed: *(to--) = *(p--) ^ 0xff;
0
177 }
never executed: end of block
0
178 } else {-
179 ret->type = 2;-
180 if ((*
(*p == 0)Description
TRUEevaluated 226 times by 7 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 223 times by 8 tests
Evaluated by:
  • asn1evp
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
p == 0)
(*p == 0)Description
TRUEevaluated 226 times by 7 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 223 times by 8 tests
Evaluated by:
  • asn1evp
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
&& (
(len != 1)Description
TRUEevaluated 224 times by 7 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • pkcs7test
len != 1)
(len != 1)Description
TRUEevaluated 224 times by 7 tests
Evaluated by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 2 times by 1 test
Evaluated by:
  • pkcs7test
) {
2-226
181 p++;-
182 len--;-
183 }
executed 224 times by 7 tests: end of block
Executed by:
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
224
184 memcpy(s, p, len);-
185 }
executed 449 times by 8 tests: end of block
Executed by:
  • asn1evp
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
449
186-
187 free(ret->data);-
188 ret->data = s;-
189 ret->length = (int)len;-
190 if (a !=
a != ((void *)0)Description
TRUEevaluated 449 times by 8 tests
Evaluated by:
  • asn1evp
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
0-449
191 ((void *)0)
a != ((void *)0)Description
TRUEevaluated 449 times by 8 tests
Evaluated by:
  • asn1evp
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEnever evaluated
0-449
192 )-
193 (*
executed 449 times by 8 tests: (*a) = ret;
Executed by:
  • asn1evp
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
a) = ret;
executed 449 times by 8 tests: (*a) = ret;
Executed by:
  • asn1evp
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
449
194 *pp = pend;-
195 return
executed 449 times by 8 tests: return (ret);
Executed by:
  • asn1evp
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
(ret);
executed 449 times by 8 tests: return (ret);
Executed by:
  • asn1evp
  • asn1test
  • keypairtest
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
449
196-
197err:-
198 ERR_put_error(13,(0xfff),(i),__FILE__,269);-
199 if (a ==
a == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
200 ((void *)0)
a == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
201 || *
*a != retDescription
TRUEnever evaluated
FALSEnever evaluated
a != ret
*a != retDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
202 ASN1_INTEGER_free(ret);
never executed: ASN1_INTEGER_free(ret);
0
203 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
204 ((void *)0)
never executed: return ( ((void *)0) );
0
205 );
never executed: return ( ((void *)0) );
0
206}-
207-
208-
209-
210-
211-
212-
213-
214ASN1_INTEGER *-
215d2i_ASN1_UINTEGER(ASN1_INTEGER **a, const unsigned char **pp, long length)-
216{-
217 ASN1_INTEGER *ret = -
218 ((void *)0)-
219 ;-
220 const unsigned char *p;-
221 unsigned char *s;-
222 long len;-
223 int inf, tag, xclass;-
224 int i;-
225-
226 if ((
(a == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
a ==
(a == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
227 ((void *)0)
(a == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
228 )
(a == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
|| ((*
((*a) == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
a) ==
((*a) == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
229 ((void *)0)
((*a) == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
0
230 )
((*a) == ((void *)0) )Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
231 if ((
(ret = ASN1_IN...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
ret = ASN1_INTEGER_new()) ==
(ret = ASN1_IN...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
232 ((void *)0)
(ret = ASN1_IN...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
233 )-
234 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
235 ((void *)0)
never executed: return ( ((void *)0) );
0
236 );
never executed: return ( ((void *)0) );
0
237 }
never executed: end of block
else
0
238 ret = (*a);
never executed: ret = (*a);
0
239-
240 p = *pp;-
241 inf = ASN1_get_object(&p, &len, &tag, &xclass, length);-
242 if (inf & 0x80
inf & 0x80Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
243 i = 102;-
244 goto
never executed: goto err;
err;
never executed: goto err;
0
245 }-
246-
247 if (tag != 2
tag != 2Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
248 i = 115;-
249 goto
never executed: goto err;
err;
never executed: goto err;
0
250 }-
251-
252-
253-
254 s = malloc(len + 1);-
255 if (s ==
s == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
256 ((void *)0)
s == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
257 ) {-
258 i = (1|64);-
259 goto
never executed: goto err;
err;
never executed: goto err;
0
260 }-
261 ret->type = 2;-
262 if (len
lenDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
263 if ((*
(*p == 0)Description
TRUEnever evaluated
FALSEnever evaluated
p == 0)
(*p == 0)Description
TRUEnever evaluated
FALSEnever evaluated
&& (
(len != 1)Description
TRUEnever evaluated
FALSEnever evaluated
len != 1)
(len != 1)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
264 p++;-
265 len--;-
266 }
never executed: end of block
0
267 memcpy(s, p, len);-
268 p += len;-
269 }
never executed: end of block
0
270-
271 free(ret->data);-
272 ret->data = s;-
273 ret->length = (int)len;-
274 if (a !=
a != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
275 ((void *)0)
a != ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
276 )-
277 (*
never executed: (*a) = ret;
a) = ret;
never executed: (*a) = ret;
0
278 *pp = p;-
279 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
280-
281err:-
282 ERR_put_error(13,(0xfff),(i),__FILE__,335);-
283 if (a ==
a == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
284 ((void *)0)
a == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
285 || *
*a != retDescription
TRUEnever evaluated
FALSEnever evaluated
a != ret
*a != retDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
286 ASN1_INTEGER_free(ret);
never executed: ASN1_INTEGER_free(ret);
0
287 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
288 ((void *)0)
never executed: return ( ((void *)0) );
0
289 );
never executed: return ( ((void *)0) );
0
290}-
291-
292int-
293ASN1_INTEGER_set(ASN1_INTEGER *a, long v)-
294{-
295 int j, k;-
296 unsigned int i;-
297 unsigned char buf[sizeof(long) + 1];-
298 long d;-
299-
300 a->type = 2;-
301-
302 if (a->length < (int)(sizeof(long) + 1)
a->length < (i...eof(long) + 1)Description
TRUEevaluated 16 times by 3 tests
Evaluated by:
  • asn1evp
  • libcrypto.so.44.0.1
  • pkcs7test
FALSEnever evaluated
) {
0-16
303 free(a->data);-
304 a->data = calloc(1, sizeof(long) + 1);-
305 }
executed 16 times by 3 tests: end of block
Executed by:
  • asn1evp
  • libcrypto.so.44.0.1
  • pkcs7test
16
306 if (a->data ==
a->data == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 16 times by 3 tests
Evaluated by:
  • asn1evp
  • libcrypto.so.44.0.1
  • pkcs7test
0-16
307 ((void *)0)
a->data == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 16 times by 3 tests
Evaluated by:
  • asn1evp
  • libcrypto.so.44.0.1
  • pkcs7test
0-16
308 ) {-
309 ERR_put_error(13,(0xfff),((1|64)),__FILE__,356);-
310 return
never executed: return (0);
(0);
never executed: return (0);
0
311 }-
312 d = v;-
313 if (d < 0
d < 0Description
TRUEnever evaluated
FALSEevaluated 16 times by 3 tests
Evaluated by:
  • asn1evp
  • libcrypto.so.44.0.1
  • pkcs7test
) {
0-16
314 d = -d;-
315 a->type = (2 | 0x100);-
316 }
never executed: end of block
0
317-
318 for (i = 0; i < sizeof(long)
i < sizeof(long)Description
TRUEevaluated 30 times by 3 tests
Evaluated by:
  • asn1evp
  • libcrypto.so.44.0.1
  • pkcs7test
FALSEnever evaluated
; i++) {
0-30
319 if (d == 0
d == 0Description
TRUEevaluated 16 times by 3 tests
Evaluated by:
  • asn1evp
  • libcrypto.so.44.0.1
  • pkcs7test
FALSEevaluated 14 times by 2 tests
Evaluated by:
  • asn1evp
  • pkcs7test
)
14-16
320 break;
executed 16 times by 3 tests: break;
Executed by:
  • asn1evp
  • libcrypto.so.44.0.1
  • pkcs7test
16
321 buf[i] = (int)d & 0xff;-
322 d >>= 8;-
323 }
executed 14 times by 2 tests: end of block
Executed by:
  • asn1evp
  • pkcs7test
14
324 j = 0;-
325 for (k = i - 1; k >= 0
k >= 0Description
TRUEevaluated 14 times by 2 tests
Evaluated by:
  • asn1evp
  • pkcs7test
FALSEevaluated 16 times by 3 tests
Evaluated by:
  • asn1evp
  • libcrypto.so.44.0.1
  • pkcs7test
; k--)
14-16
326 a->data[j++] = buf[k];
executed 14 times by 2 tests: a->data[j++] = buf[k];
Executed by:
  • asn1evp
  • pkcs7test
14
327 a->length = j;-
328 return
executed 16 times by 3 tests: return (1);
Executed by:
  • asn1evp
  • libcrypto.so.44.0.1
  • pkcs7test
(1);
executed 16 times by 3 tests: return (1);
Executed by:
  • asn1evp
  • libcrypto.so.44.0.1
  • pkcs7test
16
329}-
330-
331long-
332ASN1_INTEGER_get(const ASN1_INTEGER *a)-
333{-
334 int neg = 0, i;-
335 long r = 0;-
336-
337 if (a ==
a == ((void *)0)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEevaluated 204 times by 7 tests
Evaluated by:
  • asn1evp
  • asn1test
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
2-204
338 ((void *)0)
a == ((void *)0)Description
TRUEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEevaluated 204 times by 7 tests
Evaluated by:
  • asn1evp
  • asn1test
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
2-204
339 )-
340 return
executed 2 times by 1 test: return (0L);
Executed by:
  • libcrypto.so.44.0.1
(0L);
executed 2 times by 1 test: return (0L);
Executed by:
  • libcrypto.so.44.0.1
2
341 i = a->type;-
342 if (i == (2 | 0x100)
i == (2 | 0x100)Description
TRUEnever evaluated
FALSEevaluated 204 times by 7 tests
Evaluated by:
  • asn1evp
  • asn1test
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
)
0-204
343 neg = 1;
never executed: neg = 1;
0
344 else if (i != 2
i != 2Description
TRUEnever evaluated
FALSEevaluated 204 times by 7 tests
Evaluated by:
  • asn1evp
  • asn1test
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
)
0-204
345 return
never executed: return -1;
-1;
never executed: return -1;
0
346-
347 if (a->length > (int)sizeof(long)
a->length > (int)sizeof(long)Description
TRUEnever evaluated
FALSEevaluated 204 times by 7 tests
Evaluated by:
  • asn1evp
  • asn1test
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
) {
0-204
348-
349 return
never executed: return -1;
-1;
never executed: return -1;
0
350 }-
351 if (a->data ==
a->data == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 204 times by 7 tests
Evaluated by:
  • asn1evp
  • asn1test
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-204
352 ((void *)0)
a->data == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 204 times by 7 tests
Evaluated by:
  • asn1evp
  • asn1test
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
0-204
353 )-
354 return
never executed: return 0;
0;
never executed: return 0;
0
355-
356 for (i = 0; i < a->length
i < a->lengthDescription
TRUEevaluated 231 times by 7 tests
Evaluated by:
  • asn1evp
  • asn1test
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
FALSEevaluated 204 times by 7 tests
Evaluated by:
  • asn1evp
  • asn1test
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
; i++) {
204-231
357 r <<= 8;-
358 r |= (unsigned char)a->data[i];-
359 }
executed 231 times by 7 tests: end of block
Executed by:
  • asn1evp
  • asn1test
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
231
360 if (neg
negDescription
TRUEnever evaluated
FALSEevaluated 204 times by 7 tests
Evaluated by:
  • asn1evp
  • asn1test
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
)
0-204
361 r = -r;
never executed: r = -r;
0
362 return
executed 204 times by 7 tests: return (r);
Executed by:
  • asn1evp
  • asn1test
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
(r);
executed 204 times by 7 tests: return (r);
Executed by:
  • asn1evp
  • asn1test
  • libcrypto.so.44.0.1
  • pkcs7test
  • servertest
  • ssltest
  • tlstest
204
363}-
364-
365ASN1_INTEGER *-
366BN_to_ASN1_INTEGER(const BIGNUM *bn, ASN1_INTEGER *ai)-
367{-
368 ASN1_INTEGER *ret;-
369 int len, j;-
370-
371 if (ai ==
ai == ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
1-2
372 ((void *)0)
ai == ((void *)0)Description
TRUEevaluated 1 time by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
1-2
373 )-
374 ret = ASN1_INTEGER_new();
executed 1 time by 1 test: ret = ASN1_INTEGER_new();
Executed by:
  • libcrypto.so.44.0.1
1
375 else-
376 ret = ai;
executed 2 times by 1 test: ret = ai;
Executed by:
  • libcrypto.so.44.0.1
2
377 if (ret ==
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-3
378 ((void *)0)
ret == ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-3
379 ) {-
380 ERR_put_error(13,(0xfff),(58),__FILE__,419);-
381 goto
never executed: goto err;
err;
never executed: goto err;
0
382 }-
383 if (((
((bn)->neg != 0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
bn)->neg != 0)
((bn)->neg != 0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
)
0-3
384 ret->type = (2 | 0x100);
never executed: ret->type = (2 | 0x100);
0
385 else-
386 ret->type = 2;
executed 3 times by 1 test: ret->type = 2;
Executed by:
  • libcrypto.so.44.0.1
3
387 j = BN_num_bits(bn);-
388 len = ((
(j == 0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
j == 0)
(j == 0)Description
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
? 0 : ((j / 8) + 1));
0-3
389 if (ret->length < len + 4
ret->length < len + 4Description
TRUEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
FALSEnever evaluated
) {
0-3
390 unsigned char *new_data = realloc(ret->data, len + 4);-
391 if (!new_data
!new_dataDescription
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
) {
0-3
392 ERR_put_error(13,(0xfff),((1|64)),__FILE__,431);-
393 goto
never executed: goto err;
err;
never executed: goto err;
0
394 }-
395 ret->data = new_data;-
396 }
executed 3 times by 1 test: end of block
Executed by:
  • libcrypto.so.44.0.1
3
397 ret->length = BN_bn2bin(bn, ret->data);-
398-
399-
400 if (!ret->length
!ret->lengthDescription
TRUEnever evaluated
FALSEevaluated 3 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
) {
0-3
401 ret->data[0] = 0;-
402 ret->length = 1;-
403 }
never executed: end of block
0
404 return
executed 3 times by 1 test: return (ret);
Executed by:
  • libcrypto.so.44.0.1
(ret);
executed 3 times by 1 test: return (ret);
Executed by:
  • libcrypto.so.44.0.1
3
405-
406err:-
407 if (ret != ai
ret != aiDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
408 ASN1_INTEGER_free(ret);
never executed: ASN1_INTEGER_free(ret);
0
409 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
410 ((void *)0)
never executed: return ( ((void *)0) );
0
411 );
never executed: return ( ((void *)0) );
0
412}-
413-
414BIGNUM *-
415ASN1_INTEGER_to_BN(const ASN1_INTEGER *ai, BIGNUM *bn)-
416{-
417 BIGNUM *ret;-
418-
419 if ((
(ret = BN_bin2...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
ret = BN_bin2bn(ai->data, ai->length, bn)) ==
(ret = BN_bin2...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-2
420 ((void *)0)
(ret = BN_bin2...== ((void *)0)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
0-2
421 )-
422 ERR_put_error(13,(0xfff),(105),__FILE__,457);
never executed: ERR_put_error(13,(0xfff),(105),__FILE__,457);
0
423 else if (ai->type == (2 | 0x100)
ai->type == (2 | 0x100)Description
TRUEnever evaluated
FALSEevaluated 2 times by 1 test
Evaluated by:
  • libcrypto.so.44.0.1
)
0-2
424 BN_set_negative(ret, 1);
never executed: BN_set_negative(ret, 1);
0
425 return
executed 2 times by 1 test: return (ret);
Executed by:
  • libcrypto.so.44.0.1
(ret);
executed 2 times by 1 test: return (ret);
Executed by:
  • libcrypto.so.44.0.1
2
426}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2