diff --git a/sys/compat/linux/linux_socket.c b/sys/compat/linux/linux_socket.c index 9cd2eb3b120..6e8169115ab 100644 --- a/sys/compat/linux/linux_socket.c +++ b/sys/compat/linux/linux_socket.c @@ -1067,7 +1067,7 @@ linux_sendmsg_common(struct thread *td, l_int s, struct l_msghdr *msghdr, * FreeBSD system call interface. */ if (sa_family != AF_UNIX) - continue; + goto next; if (cmsg->cmsg_type == SCM_CREDS) { len = sizeof(struct cmsgcred); @@ -1094,6 +1094,7 @@ linux_sendmsg_common(struct thread *td, l_int s, struct l_msghdr *msghdr, data = (char *)data + CMSG_SPACE(len); datalen += CMSG_SPACE(len); +next: if (clen <= LINUX_CMSG_ALIGN(linux_cmsg.cmsg_len)) break;