Add check for truncated control message
Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
fb29490270
commit
d4d31cd5f1
5
fdpass.c
5
fdpass.c
|
@ -45,6 +45,11 @@ sock_fd_read(int sock, void *buf, ssize_t bufsize, int *fd)
|
||||||
perror ("recvmsg");
|
perror ("recvmsg");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
if ((msg.msg_flags & MSG_TRUNC) ||
|
||||||
|
(msg.msg_flags & MSG_CTRUNC)) {
|
||||||
|
fprintf (stderr, "control message truncated");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
cmsg = CMSG_FIRSTHDR(&msg);
|
cmsg = CMSG_FIRSTHDR(&msg);
|
||||||
if (cmsg && cmsg->cmsg_len == CMSG_LEN(sizeof(int))) {
|
if (cmsg && cmsg->cmsg_len == CMSG_LEN(sizeof(int))) {
|
||||||
if (cmsg->cmsg_level != SOL_SOCKET) {
|
if (cmsg->cmsg_level != SOL_SOCKET) {
|
||||||
|
|
Loading…
Reference in New Issue