Index: sys/kern/uipc_syscalls.c =================================================================== --- sys/kern/uipc_syscalls.c +++ sys/kern/uipc_syscalls.c @@ -816,6 +816,9 @@ } if (error == 0) td->td_retval[0] = len - auio.uio_resid; + + /* sosend will consume control */ + control = NULL; #ifdef KTRACE if (ktruio != NULL) { ktruio->uio_resid = td->td_retval[0]; @@ -823,6 +826,8 @@ } #endif bad: + if (control != NULL) + m_freem(control); fdrop(fp, td); return (error); }