Line | Source | Count |
1 | | - |
2 | int RSA_padding_add_SSLv23(unsigned char *to, int tlen, | - |
3 | const unsigned char *from, int flen) | - |
4 | { | - |
5 | int i, j; | - |
6 | unsigned char *p; | - |
7 | | - |
8 | if (flen > (tlen - 11)TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
9 | ERR_put_error(4,(110),(110),__FILE__,24) | - |
10 | ; | - |
11 | return never executed: return 0; 0;never executed: return 0; | 0 |
12 | } | - |
13 | | - |
14 | p = (unsigned char *)to; | - |
15 | | - |
16 | *(p++) = 0; | - |
17 | *(p++) = 2; | - |
18 | | - |
19 | | - |
20 | j = tlen - 3 - 8 - flen; | - |
21 | | - |
22 | if (RAND_bytes(p, j) <= 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
23 | return never executed: return 0; 0;never executed: return 0; | 0 |
24 | for (i = 0; i < jTRUE | never evaluated | FALSE | never evaluated |
; i++) { | 0 |
25 | if (*TRUE | never evaluated | FALSE | never evaluated |
p == '\0'TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
26 | do { | - |
27 | if (RAND_bytes(p, 1) <= 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
28 | return never executed: return 0; 0;never executed: return 0; | 0 |
29 | } never executed: end of block while (*TRUE | never evaluated | FALSE | never evaluated |
p == '\0'TRUE | never evaluated | FALSE | never evaluated |
); | 0 |
30 | p++; | - |
31 | } never executed: end of block | 0 |
32 | | - |
33 | memset(p, 3, 8); | - |
34 | p += 8; | - |
35 | *(p++) = '\0'; | - |
36 | | - |
37 | memcpy(p, from, (unsigned int)flen); | - |
38 | return never executed: return 1; 1;never executed: return 1; | 0 |
39 | } | - |
40 | | - |
41 | int RSA_padding_check_SSLv23(unsigned char *to, int tlen, | - |
42 | const unsigned char *from, int flen, int num) | - |
43 | { | - |
44 | int i, j, k; | - |
45 | const unsigned char *p; | - |
46 | | - |
47 | p = from; | - |
48 | if (flen < 10TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
49 | ERR_put_error(4,(114),(111),__FILE__,63); | - |
50 | return never executed: return -1; -1;never executed: return -1; | 0 |
51 | } | - |
52 | | - |
53 | if (flen == numTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
54 | if (*(TRUE | never evaluated | FALSE | never evaluated |
p++) != 0TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
55 | ERR_put_error(4,(114),(107),__FILE__,69); | - |
56 | return never executed: return -1; -1;never executed: return -1; | 0 |
57 | } | - |
58 | flen--; | - |
59 | } never executed: end of block | 0 |
60 | if ((TRUE | never evaluated | FALSE | never evaluated |
num != (flen + 1))TRUE | never evaluated | FALSE | never evaluated |
|| (*(TRUE | never evaluated | FALSE | never evaluated |
p++) != 02)TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
61 | ERR_put_error(4,(114),(107),__FILE__,75); | - |
62 | return never executed: return -1; -1;never executed: return -1; | 0 |
63 | } | - |
64 | | - |
65 | | - |
66 | j = flen - 1; | - |
67 | for (i = 0; i < jTRUE | never evaluated | FALSE | never evaluated |
; i++) | 0 |
68 | if (*(TRUE | never evaluated | FALSE | never evaluated |
p++) == 0TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
69 | break; never executed: break; | 0 |
70 | | - |
71 | if ((TRUE | never evaluated | FALSE | never evaluated |
i == j)TRUE | never evaluated | FALSE | never evaluated |
|| (TRUE | never evaluated | FALSE | never evaluated |
i < 8)TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
72 | ERR_put_error(4,(114),(113),__FILE__,87) | - |
73 | ; | - |
74 | return never executed: return -1; -1;never executed: return -1; | 0 |
75 | } | - |
76 | for (k = -9; k < -1TRUE | never evaluated | FALSE | never evaluated |
; k++) { | 0 |
77 | if (p[k] != 0x03TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
78 | break; never executed: break; | 0 |
79 | } never executed: end of block | 0 |
80 | if (k == -1TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
81 | ERR_put_error(4,(114),(115),__FILE__,95); | - |
82 | return never executed: return -1; -1;never executed: return -1; | 0 |
83 | } | - |
84 | | - |
85 | i++; | - |
86 | j -= i; | - |
87 | if (j > tlenTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
88 | ERR_put_error(4,(114),(109),__FILE__,102); | - |
89 | return never executed: return -1; -1;never executed: return -1; | 0 |
90 | } | - |
91 | memcpy(to, p, (unsigned int)j); | - |
92 | | - |
93 | return never executed: return j; j;never executed: return j; | 0 |
94 | } | - |
| | |