(the utmpentry.c code), specifically with respect to who owns them and
when to free them. Now they're owned by utmpentry.c, only. Abolish the
freeutentries() function, which was the wrong abstraction; add instead
endutentries(), which flushes out the internally managed memory.
Update callers as necessary. Some (e.g. talkd) had been leaking memory;
others (e.g. syslogd) had been accidentally freeing and reloading utmp
more often than necessary. There are a couple untidy bits in users and
rwhod that someone should look after sometime, maybe.
Fixes PR bin/35131, which was about talkd's memory leak.
going on, they can't have been clear enough. (And if xtos misread it,
so will anyone else passing by, and then someone will "fix" it...)
Hopefully this will help. Maybe it should be changed to use memcpy
instead of strncpy after all.
neither needed nor particularly desirable. Add comments to explain what's
going on, and arrange to fail the build if the sizes of things get out
of whack.
Resolves PR bin/38201 from Chris Spiegel.