svn commit: r336619 - head/lib/libc/gen

Ian Lepore ian at freebsd.org
Mon Jul 23 20:43:57 UTC 2018


On Mon, 2018-07-23 at 13:11 -0700, Cy Schubert wrote:
> In message <1532364679.1344.161.camel at freebsd.org>, Ian Lepore
> writes:
> > 
> > On Mon, 2018-07-23 at 09:41 -0700, Cy Schubert wrote:
> > > 
> > > I'm sure. Rolling this libc commit back addressed the ssh
> > > segfaults
> > > on all my systems.
> > > 
> > > ---
> > > Sent using a tiny phone keyboard.
> > > Apologies for any typos and autocorrect.
> > > Also, this old phone only supports top post. Apologies.
> > > 
> > > Cy Schubert
> > > <Cy.Schubert at cschubert.com> or <cy at freebsd.org>
> > > The need of the many outweighs the greed of the few.
> > > ---
> > > 
> > My current working theory is that some of the software that uses
> > __pw_scan() pre-stages a pointer-to-empty-string into the pw_class
> > field and my change ruined that by replacing it with a NULL
> > pointer.
> > Other callers of __pw_scan() don't do that, they just assume
> > they're
> > running as root and will get all the fields populated.
> Yes. A simple check for pw->pw_class != NULL should fix this
> instance.

Oh, or... if you meant tracking down all callers of __pw_scan() and
making them conform to the possibility that the pointer got changed to
NULL, I don't think I want to do that. If I was going to get into
examining all callers of __pw_scan() and fixing them, I'd want to make
them all use the pw_fields bits (but then that means tracking down all
the ways a pwd struct can get created or filled in and fixing them as
well, and suddenly you're on a new career path).

-- Ian


More information about the svn-src-head mailing list