> there are two or possibly three small bugs in idvec-verify.c that > use--or abuse--the functions getpwuid_r() and getspnam_r(). It > mostly concerns the fact that they don't return (nor does any > other NSS related function AFAIK) anything useful, that is they > always return 0), nor do they set errno. So this could apply to > _any_ function that is based on the getXXbyYY_r.c (same thing for > getXXbyYY.c?) file in libc, I haven't checked this yet--and I > don't want to since that code is quite similar to /dev/random. I > also want to double check the code in idvec-verify.c is correct > (or wrong) before moving this to libc-alpha, since it could apply > to any system that uses the GNU C Library.
The glibc manual says these function can return an error, so we should check for one. But we should also check for NULL return values, it seems. The POSIX specification is not very clearly worded, but it seems that not finding an entry is also a "successful" operation (no error value is defined for an unsuccesful lookup if it failed because the user does not exist). I think that we should just check if the structure is NULL instead of checking the return value _and_ the structure, this is simpler, and cleaner. As for what the glibc functions are supposed todo (set errno, or return something of use), thats a topic for libc-alpha. I'll report it there in a few days. You might enter this in the Savannah bug database (please get someone to verify that the bug exists first, or test it yourself), and then someone (you?) can work on a fix. The bug exists, and could some nice soul put it into the SV bug database? Then assign it to me? My user-name on SV is "ams". _______________________________________________ Bug-hurd mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-hurd