Absolute File Name: | /home/opencoverage/opencoverage/guest-scripts/openssh/src/msg.c |
Switch to Source code | Preprocessed file |
Line | Source | Count | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | - | |||||||||||||
2 | - | |||||||||||||
3 | - | |||||||||||||
4 | - | |||||||||||||
5 | - | |||||||||||||
6 | - | |||||||||||||
7 | - | |||||||||||||
8 | int | - | ||||||||||||
9 | ssh_msg_send(int fd, u_char type, struct sshbuf *m) | - | ||||||||||||
10 | { | - | ||||||||||||
11 | u_char buf[5]; | - | ||||||||||||
12 | u_int mlen = sshbuf_len(m); | - | ||||||||||||
13 | - | |||||||||||||
14 | debug3("ssh_msg_send: type %u", (unsigned int)type & 0xff); | - | ||||||||||||
15 | - | |||||||||||||
16 | put_u32(buf, mlen + 1); | - | ||||||||||||
17 | buf[4] = type; | - | ||||||||||||
18 | if (atomicio((ssize_t (*)(int, void *, size_t))write, fd, buf, sizeof(buf)) != sizeof(buf)
| 0 | ||||||||||||
19 | error("ssh_msg_send: write"); | - | ||||||||||||
20 | return never executed: (-1);return (-1); never executed: return (-1); | 0 | ||||||||||||
21 | } | - | ||||||||||||
22 | if (atomicio((ssize_t (*)(int, void *, size_t))write, fd, sshbuf_mutable_ptr(m), mlen) != mlen
| 0 | ||||||||||||
23 | error("ssh_msg_send: write"); | - | ||||||||||||
24 | return never executed: (-1);return (-1); never executed: return (-1); | 0 | ||||||||||||
25 | } | - | ||||||||||||
26 | return never executed: (0);return (0); never executed: return (0); | 0 | ||||||||||||
27 | } | - | ||||||||||||
28 | - | |||||||||||||
29 | int | - | ||||||||||||
30 | ssh_msg_recv(int fd, struct sshbuf *m) | - | ||||||||||||
31 | { | - | ||||||||||||
32 | u_char buf[4], *p; | - | ||||||||||||
33 | u_int msg_len; | - | ||||||||||||
34 | int r; | - | ||||||||||||
35 | - | |||||||||||||
36 | debug3("ssh_msg_recv entering"); | - | ||||||||||||
37 | - | |||||||||||||
38 | if (atomicio(read, fd, buf, sizeof(buf)) != sizeof(buf)
| 0 | ||||||||||||
39 | if ( | - | ||||||||||||
40 | (*
| 0 | ||||||||||||
41 | !=
| 0 | ||||||||||||
42 | 32
| 0 | ||||||||||||
43 | ) | - | ||||||||||||
44 | error("ssh_msg_recv: read: header"); never executed: error("ssh_msg_recv: read: header"); | 0 | ||||||||||||
45 | return never executed: (-1);return (-1); never executed: return (-1); | 0 | ||||||||||||
46 | } | - | ||||||||||||
47 | msg_len = get_u32(buf); | - | ||||||||||||
48 | if (msg_len > 256 * 1024
| 0 | ||||||||||||
49 | error("ssh_msg_recv: read: bad msg_len %u", msg_len); | - | ||||||||||||
50 | return never executed: (-1);return (-1); never executed: return (-1); | 0 | ||||||||||||
51 | } | - | ||||||||||||
52 | sshbuf_reset(m); | - | ||||||||||||
53 | if ((
| 0 | ||||||||||||
54 | error("%s: buffer error: %s", __func__, ssh_err(r)); | - | ||||||||||||
55 | return never executed: -1;return -1; never executed: return -1; | 0 | ||||||||||||
56 | } | - | ||||||||||||
57 | if (atomicio(read, fd, p, msg_len) != msg_len
| 0 | ||||||||||||
58 | error("ssh_msg_recv: read: %s", strerror( | - | ||||||||||||
59 | (*__errno_location ()) | - | ||||||||||||
60 | )); | - | ||||||||||||
61 | return never executed: (-1);return (-1); never executed: return (-1); | 0 | ||||||||||||
62 | } | - | ||||||||||||
63 | return never executed: (0);return (0); never executed: return (0); | 0 | ||||||||||||
64 | } | - | ||||||||||||
Switch to Source code | Preprocessed file |