diff options
author | mbr <mbr@FreeBSD.org> | 2003-05-29 22:06:06 +0000 |
---|---|---|
committer | mbr <mbr@FreeBSD.org> | 2003-05-29 22:06:06 +0000 |
commit | cbe33ed314f1546dabeca020f87f2ef1c2795b25 (patch) | |
tree | ce0d1a6b94f9d398cbc83045d409eedafa3e3d69 | |
parent | 32ad52fb86187cac8c6a3dcac703b7e771cff365 (diff) | |
download | FreeBSD-src-cbe33ed314f1546dabeca020f87f2ef1c2795b25.zip FreeBSD-src-cbe33ed314f1546dabeca020f87f2ef1c2795b25.tar.gz |
Don't return -1 and abort if msg.msg_controllen is 0. For
some strange reason recvmsg() never sets errno to EAGAIN
on a non-blocking socket and just returns 0.
Reviewed by: jhb
Approved by: re
-rw-r--r-- | lib/libc/rpc/svc_vc.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/lib/libc/rpc/svc_vc.c b/lib/libc/rpc/svc_vc.c index 42e9558..259527f 100644 --- a/lib/libc/rpc/svc_vc.c +++ b/lib/libc/rpc/svc_vc.c @@ -779,8 +779,7 @@ __msgread_withcred(sock, buf, cnt, cmp) bcopy(&cm.cmsg, &cmp->cmsg, sizeof(cmp->cmsg)); bcopy(CMSG_DATA(&cm), &cmp->cmcred, sizeof(cmp->cmcred)); - if (msg.msg_controllen == 0 || - (msg.msg_flags & MSG_CTRUNC) != 0) + if ((msg.msg_flags & MSG_CTRUNC) != 0) return (-1); return (ret); |