Make sure that each va_start has one and only one matching va_end,
especially in error cases.
If the va_list is used multiple times, do multiple va_starts/va_ends.
If a function gets va_list as argument, don't let it use va_end (since
it's the callers responsibility).
Improved by comments from enami and christos -- thanks!
Heimdal/krb4/KAME changes already fed back, rest to follow.
Inspired by, but not not based on, OpenBSD.
- ensure hostname from gethostname() is nul-terminated in all cases
- minor KNF
- use MAXHOSTNAMELEN over various other values/defines
- be safe will buffers that hold hostnames
Save hostname in a permanent buffer, otherwise ruserok()
can trash it if it calls gethostbyname() or inet_ntoa().
Repeat by:
Add entries in .rhosts and login from a machine that does
not have an entry there. Notice that the error message
in syslog contains the last hostname in .rhosts and not
the original remote hostname.