OpenCoverage

a_enum.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/asn1/a_enum.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8-
9int-
10ASN1_ENUMERATED_set(ASN1_ENUMERATED *a, long v)-
11{-
12 int j, k;-
13 unsigned int i;-
14 unsigned char buf[sizeof(long) + 1];-
15 long d;-
16-
17 a->type = 10;-
18 if (a->length < (int)(sizeof(long) + 1)
a->length < (i...eof(long) + 1)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
19 free(a->data);-
20 a->data = calloc(1, sizeof(long) + 1);-
21 }
never executed: end of block
0
22 if (a->data ==
a->data == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
23 ((void *)0)
a->data == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
24 ) {-
25 ERR_put_error(13,(0xfff),((1|64)),__FILE__,84);-
26 return
never executed: return (0);
(0);
never executed: return (0);
0
27 }-
28 d = v;-
29 if (d < 0
d < 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
30 d = -d;-
31 a->type = (10 | 0x100);-
32 }
never executed: end of block
0
33-
34 for (i = 0; i < sizeof(long)
i < sizeof(long)Description
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
35 if (d == 0
d == 0Description
TRUEnever evaluated
FALSEnever evaluated
)
0
36 break;
never executed: break;
0
37 buf[i] = (int)d & 0xff;-
38 d >>= 8;-
39 }
never executed: end of block
0
40 j = 0;-
41 for (k = i - 1; k >= 0
k >= 0Description
TRUEnever evaluated
FALSEnever evaluated
; k--)
0
42 a->data[j++] = buf[k];
never executed: a->data[j++] = buf[k];
0
43 a->length = j;-
44 return
never executed: return (1);
(1);
never executed: return (1);
0
45}-
46-
47long-
48ASN1_ENUMERATED_get(const ASN1_ENUMERATED *a)-
49{-
50 int neg = 0, i;-
51 long r = 0;-
52-
53 if (a ==
a == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
54 ((void *)0)
a == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
55 )-
56 return
never executed: return (0L);
(0L);
never executed: return (0L);
0
57 i = a->type;-
58 if (i == (10 | 0x100)
i == (10 | 0x100)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
59 neg = 1;
never executed: neg = 1;
0
60 else if (i != 10
i != 10Description
TRUEnever evaluated
FALSEnever evaluated
)
0
61 return
never executed: return -1;
-1;
never executed: return -1;
0
62-
63 if (a->length > (int)sizeof(long)
a->length > (int)sizeof(long)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
64-
65 return
never executed: return -1;
-1;
never executed: return -1;
0
66 }-
67 if (a->data ==
a->data == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
68 ((void *)0)
a->data == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
69 )-
70 return
never executed: return 0;
0;
never executed: return 0;
0
71-
72 for (i = 0; i < a->length
i < a->lengthDescription
TRUEnever evaluated
FALSEnever evaluated
; i++) {
0
73 r <<= 8;-
74 r |= (unsigned char)a->data[i];-
75 }
never executed: end of block
0
76 if (neg
negDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
77 r = -r;
never executed: r = -r;
0
78 return
never executed: return (r);
(r);
never executed: return (r);
0
79}-
80-
81ASN1_ENUMERATED *-
82BN_to_ASN1_ENUMERATED(const BIGNUM *bn, ASN1_ENUMERATED *ai)-
83{-
84 ASN1_ENUMERATED *ret;-
85 int len, j;-
86-
87 if (ai ==
ai == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
88 ((void *)0)
ai == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
89 )-
90 ret = ASN1_ENUMERATED_new();
never executed: ret = ASN1_ENUMERATED_new();
0
91 else-
92 ret = ai;
never executed: ret = ai;
0
93 if (ret ==
ret == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
94 ((void *)0)
ret == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
95 ) {-
96 ERR_put_error(13,(0xfff),(58),__FILE__,147);-
97 goto
never executed: goto err;
err;
never executed: goto err;
0
98 }-
99 if (((
((bn)->neg != 0)Description
TRUEnever evaluated
FALSEnever evaluated
bn)->neg != 0)
((bn)->neg != 0)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
100 ret->type = (10 | 0x100);
never executed: ret->type = (10 | 0x100);
0
101 else-
102 ret->type = 10;
never executed: ret->type = 10;
0
103 j = BN_num_bits(bn);-
104 len = ((
(j == 0)Description
TRUEnever evaluated
FALSEnever evaluated
j == 0)
(j == 0)Description
TRUEnever evaluated
FALSEnever evaluated
? 0 : ((j / 8) + 1));
0
105 if (ret->length < len + 4
ret->length < len + 4Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
106 unsigned char *new_data = realloc(ret->data, len + 4);-
107 if (!new_data
!new_dataDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
108 ERR_put_error(13,(0xfff),((1|64)),__FILE__,159);-
109 goto
never executed: goto err;
err;
never executed: goto err;
0
110 }-
111 ret->data = new_data;-
112 }
never executed: end of block
0
113 ret->length = BN_bn2bin(bn, ret->data);-
114-
115-
116 if (!ret->length
!ret->lengthDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
117 ret->data[0] = 0;-
118 ret->length = 1;-
119 }
never executed: end of block
0
120 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
121-
122err:-
123 if (ret != ai
ret != aiDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
124 ASN1_ENUMERATED_free(ret);
never executed: ASN1_ENUMERATED_free(ret);
0
125 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
126 ((void *)0)
never executed: return ( ((void *)0) );
0
127 );
never executed: return ( ((void *)0) );
0
128}-
129-
130BIGNUM *-
131ASN1_ENUMERATED_to_BN(const ASN1_ENUMERATED *ai, BIGNUM *bn)-
132{-
133 BIGNUM *ret;-
134-
135 if ((
(ret = BN_bin2...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
ret = BN_bin2bn(ai->data, ai->length, bn)) ==
(ret = BN_bin2...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
136 ((void *)0)
(ret = BN_bin2...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
137 )-
138 ERR_put_error(13,(0xfff),(105),__FILE__,185);
never executed: ERR_put_error(13,(0xfff),(105),__FILE__,185);
0
139 else if (ai->type == (10 | 0x100)
ai->type == (10 | 0x100)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
140 BN_set_negative(ret, 1);
never executed: BN_set_negative(ret, 1);
0
141 return
never executed: return (ret);
(ret);
never executed: return (ret);
0
142}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2