]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r302213:
authordchagin <dchagin@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 29 Jun 2016 06:04:45 +0000 (06:04 +0000)
committerdchagin <dchagin@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 29 Jun 2016 06:04:45 +0000 (06:04 +0000)
commit9bb5963e6450190a0e37dd73c97071a8049bd5dc
tree279989f94fd25d3b0028fe51986218095ad59dc6
parent1d6d65d6237ecde978ca1a84d761384d0e00e8c9
MFC r302213:

Fix a bug introduced in r283433.

[1] Remove unneeded sockaddr conversion before kern_recvit() call as the from
argument is used to record result (the source address of the received message) only.

[2] In Linux the type of msg_namelen member of struct msghdr is signed but native
msg_namelen has a unsigned type (socklen_t). So use the proper storage to fetch fromlen
from userspace and than check the user supplied value and return EINVAL if it is less
than 0 as a Linux do.

Reported by: Thomas Mueller <tmueller at sysgo dot com> [1]
Tested by: Thomas Mueller <tmueller at sysgo dot com> [both]
Reviewed by: kib@

git-svn-id: svn://svn.freebsd.org/base/stable/10@302259 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/compat/linux/linux_socket.c