cvs commit: src/sys/kern uipc_usrreq.c

Ed Maste emaste at freebsd.org
Mon Jul 7 20:41:19 UTC 2008


On Mon, Jul 07, 2008 at 12:52:09PM -0700, Alfred Perlstein wrote:

> * Ed Maste <emaste at FreeBSD.org> [080703 16:26] wrote:
> > emaste      2008-07-03 23:26:10 UTC
> > 
> >   FreeBSD src repository
> > 
> >   Modified files:
> >     sys/kern             uipc_usrreq.c 
> >   Log:
> >   SVN rev 180238 on 2008-07-03 23:26:10Z by emaste
> >   
> >   Use bcopy instead of strlcpy in uipc_bind and unp_connect, since
> >   soun->sun_path isn't a null-terminated string.  As UNIX(4) states, "the
> >   terminating NUL is not part of the address."  Since strlcpy has to return
> >   "the total length of the string [it] tried to create," it walks off the end
> >   of soun->sun_path looking for a \0.
> >   
> >   This reverts r105332.
> >   
> >   Reported by:    Ryan Stone
> >   
> >   Revision  Changes    Path
> >   1.215     +4 -2      src/sys/kern/uipc_usrreq.c
>
> This really deserves a comment at each invocation of bcopy in
> order to prevent regressions by someone "fixing" it again.

I thought about that but figured that a bcopy -> strlcpy conversion
would be a lot less likely than the strncpy -> strlcpy change that
happened here originally to introduce the bug.  If it really seems like
a candidate for someone to "fix" in the future I'll add a comment. 

- Ed


More information about the cvs-all mailing list