[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: libpam segfault when passwd passes NULL pamh (was Re: gcc -O2 produces invalid object code (x86_64, netbsd-5 branch))
- To: NetBSD Toolchain and Build Technical Discussion List <tech-toolchain%NetBSD.org@localhost>
- Subject: Re: libpam segfault when passwd passes NULL pamh (was Re: gcc -O2 produces invalid object code (x86_64, netbsd-5 branch))
- From: Richard Hansen <rhansen%bbn.com@localhost>
- Date: Mon, 08 Mar 2010 15:16:29 -0500
Joerg Sonnenberger wrote:
There's also the issue of whether it's OK to pass random garbage to
pam_strerror(). If it's not OK, then how does one print error
messages for pam_start() failures? pam_start() doesn't set pamh on
error, so its value could be anything.
Fully agreed. Given that pam_start can only fail due to programming
errors or memory allocation, the error message is not very useful
anyway. I think the attached patch is the best approach.
There's at least one other way pam_start() can fail: if you misspell
the name of a pam module in an /etc/pam.d file. (Can you guess how I
originally stumbled across the segfault? :-P) A "module not found"
message would be useful.
We could modify pam_start() to set pamh to NULL on error so that
pam_strerror() does the right thing, or we could do what we're doing now
and simply ignore pamh in pam_strerror(). See the attached patch.
Main Index |
Thread Index |