diff --git a/sys/kern/uipc_syscalls.c b/sys/kern/uipc_syscalls.c index bcc065d2259f..2191574c0617 100644 --- a/sys/kern/uipc_syscalls.c +++ b/sys/kern/uipc_syscalls.c @@ -254,8 +254,10 @@ accept1(td, uap, compat) error = copyin(uap->anamelen, &namelen, sizeof (namelen)); if(error) goto done2; - if (namelen < 0) - return (EINVAL); + if (namelen < 0) { + error = EINVAL; + goto done2; + } } error = fgetsock(td, uap->s, &head, &fflag); if (error)