| 1065 | } |
| 1066 | |
| 1067 | static int |
| 1068 | recvit(struct thread *td, int s, struct msghdr *mp, void *namelenp) |
| 1069 | { |
| 1070 | int error; |
| 1071 | |
| 1072 | error = kern_recvit(td, s, mp, UIO_USERSPACE, NULL); |
| 1073 | if (error != 0) |
| 1074 | return (error); |
| 1075 | if (namelenp != NULL) { |
| 1076 | error = copyout(&mp->msg_namelen, namelenp, sizeof (socklen_t)); |
| 1077 | #ifdef COMPAT_OLDSOCK |
| 1078 | if ((mp->msg_flags & MSG_COMPAT) != 0 && |
| 1079 | SV_PROC_FLAG(td->td_proc, SV_AOUT)) |
| 1080 | error = 0; /* old recvfrom didn't check */ |
| 1081 | #endif |
| 1082 | } |
| 1083 | return (error); |
| 1084 | } |
| 1085 | |
| 1086 | int |
| 1087 | sys_recvfrom(struct thread *td, struct recvfrom_args *uap) |
no test coverage detected