OpenCoverage

bn_mpi.c

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/bn/bn_mpi.c
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4int-
5BN_bn2mpi(const BIGNUM *a, unsigned char *d)-
6{-
7 int bits;-
8 int num = 0;-
9 int ext = 0;-
10 long l;-
11-
12 bits = BN_num_bits(a);-
13 num = (bits + 7) / 8;-
14 if (bits > 0
bits > 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
15 ext = ((bits & 0x07) == 0);-
16 }
never executed: end of block
0
17 if (d ==
d == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
18 ((void *)0)
d == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
19 )-
20 return
never executed: return (num + 4 + ext);
(num + 4 + ext);
never executed: return (num + 4 + ext);
0
21-
22 l = num + ext;-
23 d[0] = (unsigned char)(l >> 24) & 0xff;-
24 d[1] = (unsigned char)(l >> 16) & 0xff;-
25 d[2] = (unsigned char)(l >> 8) & 0xff;-
26 d[3] = (unsigned char)(l) & 0xff;-
27 if (ext
extDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
28 d[4] = 0;
never executed: d[4] = 0;
0
29 num = BN_bn2bin(a, &(d[4 + ext]));-
30 if (a->neg
a->negDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
31 d[4] |= 0x80;
never executed: d[4] |= 0x80;
0
32 return
never executed: return (num + 4 + ext);
(num + 4 + ext);
never executed: return (num + 4 + ext);
0
33}-
34-
35BIGNUM *-
36BN_mpi2bn(const unsigned char *d, int n, BIGNUM *a)-
37{-
38 long len;-
39 int neg = 0;-
40-
41 if (n < 4
n < 4Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
42 ERR_put_error(3,(0xfff),(106),__FILE__,101);-
43 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
44 ((void *)0)
never executed: return ( ((void *)0) );
0
45 );
never executed: return ( ((void *)0) );
0
46 }-
47 len = ((long)d[0] << 24) | ((long)d[1] << 16) | ((int)d[2] << 8) |-
48 (int)d[3];-
49 if ((
(len + 4) != nDescription
TRUEnever evaluated
FALSEnever evaluated
len + 4) != n
(len + 4) != nDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
50 ERR_put_error(3,(0xfff),(104),__FILE__,107);-
51 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
52 ((void *)0)
never executed: return ( ((void *)0) );
0
53 );
never executed: return ( ((void *)0) );
0
54 }-
55-
56 if (a ==
a == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
57 ((void *)0)
a == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
58 )-
59 a = BN_new();
never executed: a = BN_new();
0
60 if (a ==
a == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
61 ((void *)0)
a == ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
62 )-
63 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
64 ((void *)0)
never executed: return ( ((void *)0) );
0
65 );
never executed: return ( ((void *)0) );
0
66-
67 if (len == 0
len == 0Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
68 a->neg = 0;-
69 a->top = 0;-
70 return
never executed: return (a);
(a);
never executed: return (a);
0
71 }-
72 d += 4;-
73 if ((*
(*d) & 0x80Description
TRUEnever evaluated
FALSEnever evaluated
d) & 0x80
(*d) & 0x80Description
TRUEnever evaluated
FALSEnever evaluated
)
0
74 neg = 1;
never executed: neg = 1;
0
75 if (BN_bin2bn(d, (int)len, a) ==
BN_bin2bn(d, (...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
76 ((void *)0)
BN_bin2bn(d, (...== ((void *)0)Description
TRUEnever evaluated
FALSEnever evaluated
0
77 )-
78 return
never executed: return ( ((void *)0) );
(
never executed: return ( ((void *)0) );
0
79 ((void *)0)
never executed: return ( ((void *)0) );
0
80 );
never executed: return ( ((void *)0) );
0
81 a->neg = neg;-
82 if (neg
negDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
83 BN_clear_bit(a, BN_num_bits(a) - 1);-
84 }
never executed: end of block
0
85 ;-
86 return
never executed: return (a);
(a);
never executed: return (a);
0
87}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.2