getpwnam bug
Jim Hutchison
hutch at sdcsvax.UUCP
Mon Sep 1 07:10:40 AEST 1986
In article <3343 at brl-smoke.ARPA> rbj at icst-cmr.arpa (Root Boy Jim) writes:
>
> Anybody ever had a blank line as the first line in your
> password file? It happened to me a few weeks ago and the system
> would not let any user at all log on. Su did not work either.
> In looking at the source I found the following situation:
>
> getty: calls
> login: calls
> getpwnam: calls
> getpwent: calls
> fgetpwent: which does the following
>
> p = fgets(line, BUFSIZ, f);
> if (p == NULL)
> return(NULL);
>
> Since fgets returns NULL if error or end-of-file or if p read 0
> bytes it seems that the search done by fgetpwent terminates
> without searching any further, even though there are further
> valid entries. Is this the way getpwnam always works? (I am
> currently running 4.2BSD/SYS III on a vax 780). I have not seen
> any bug reports filed on this particular problem. Now while
> getting a null entry in the passwd file may be an infrequent
> occurence the only way to recover this is to crash the system
> and come up single-user to repair the passwd file. Thankfully
> my system doesn't prompt for an id coming into single-user mode
> like some systems I've seen. Under that case I think you would
> have no recourse but to restore from a backup.
>
>You are wrong on both accounts. I added a blank line at the head
>of my /etc/passwd with no problems. Also, fgets returns a pointer
>to a line containing only a newline when reading a blank line.
>
>We run vanilla 4.2BSD on a VAX 750. Perhaps it is the SYS III part
>of your system that is messing up, altho I doubt for the reasons
>you mention. Fgets is too old a routine to have variations.
>
> What I think is odd here is that there are other version of
> getpwnam in other utilites that implement the read differently.
> For example: csh/getpwnam implements the fgets as i =
> read(pwf, line, BUFSIZ).
>
> Anybody know why csh chose not to use the pw routines?
>
>Perhaps it is because of efficiency.
>
> (Root Boy) Jim Cottrell <rbj at icst-cmr.arpa>
> ..I have read the INSTRUCTIONS...
>
>P.S. Say hi to my dad (same name) if you know him.
--
Jim Hutchison UUCP: {dcdwest,ucbvax}!sdcsvax!hutch
ARPA: Hutch at sdcsvax.ucsd.edu
"The fog crept in on little cats feet" -CS
More information about the Comp.unix.wizards
mailing list