Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/libressl/src/crypto/bn/bn_mpi.c |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | - | |||||||||||||
2 | - | |||||||||||||
3 | - | |||||||||||||
4 | int | - | ||||||||||||
5 | BN_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
| 0 | ||||||||||||
15 | ext = ((bits & 0x07) == 0); | - | ||||||||||||
16 | } never executed: end of block | 0 | ||||||||||||
17 | if (d ==
| 0 | ||||||||||||
18 | ((void *)0)
| 0 | ||||||||||||
19 | ) | - | ||||||||||||
20 | return never executed: (num + 4 + ext);return (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
| 0 | ||||||||||||
28 | d[4] = 0; never executed: d[4] = 0; | 0 | ||||||||||||
29 | num = BN_bn2bin(a, &(d[4 + ext])); | - | ||||||||||||
30 | if (a->neg
| 0 | ||||||||||||
31 | d[4] |= 0x80; never executed: d[4] |= 0x80; | 0 | ||||||||||||
32 | return never executed: (num + 4 + ext);return (num + 4 + ext); never executed: return (num + 4 + ext); | 0 | ||||||||||||
33 | } | - | ||||||||||||
34 | - | |||||||||||||
35 | BIGNUM * | - | ||||||||||||
36 | BN_mpi2bn(const unsigned char *d, int n, BIGNUM *a) | - | ||||||||||||
37 | { | - | ||||||||||||
38 | long len; | - | ||||||||||||
39 | int neg = 0; | - | ||||||||||||
40 | - | |||||||||||||
41 | if (n < 4
| 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 ((
| 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 ==
| 0 | ||||||||||||
57 | ((void *)0)
| 0 | ||||||||||||
58 | ) | - | ||||||||||||
59 | a = BN_new(); never executed: a = BN_new(); | 0 | ||||||||||||
60 | if (a ==
| 0 | ||||||||||||
61 | ((void *)0)
| 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
| 0 | ||||||||||||
68 | a->neg = 0; | - | ||||||||||||
69 | a->top = 0; | - | ||||||||||||
70 | return never executed: (a);return (a); never executed: return (a); | 0 | ||||||||||||
71 | } | - | ||||||||||||
72 | d += 4; | - | ||||||||||||
73 | if ((*
| 0 | ||||||||||||
74 | neg = 1; never executed: neg = 1; | 0 | ||||||||||||
75 | if (BN_bin2bn(d, (int)len, a) ==
| 0 | ||||||||||||
76 | ((void *)0)
| 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
| 0 | ||||||||||||
83 | BN_clear_bit(a, BN_num_bits(a) - 1); | - | ||||||||||||
84 | } never executed: end of block | 0 | ||||||||||||
85 | ; | - | ||||||||||||
86 | return never executed: (a);return (a); never executed: return (a); | 0 | ||||||||||||
87 | } | - | ||||||||||||
Switch to Source code | Preprocessed file |