Let me add to it.
src/readconf.c says:
........
if (strchr(s.nodename, '.') == NULL)
{
struct hostent *host = gethostbyname(s.nodename);
primary_hostname = string_copy((char *)host->h_name);
}
else primary_hostname = string_copy(s.nodename);
........
What if gethostbyname fails? You guessed it
-- segmentation violation...
I.