Re: Minor problems...

トップ ページ
このメッセージを削除
このメッセージに返信
著者: Neal Becker
日付:  
To: Ilya Ketris
CC: exim-users
題目: Re: Minor problems...
>>>>> "Ilya" == Ilya Ketris <ilya@???> writes:

    Ilya>     Let me add to it.


    Ilya>     src/readconf.c says:


    Ilya> ........
    Ilya>   if (strchr(s.nodename, '.') == NULL)
    Ilya>     {
    Ilya>     struct hostent *host = gethostbyname(s.nodename);
    Ilya>     primary_hostname = string_copy((char *)host->h_name);
    Ilya>     }
    Ilya>   else primary_hostname = string_copy(s.nodename);
    Ilya> ........


    Ilya>     What if gethostbyname fails?  You guessed it
    Ilya>     -- segmentation violation...


Ouch. If memory serves, this is my tiny contribution to exim.

The simple-minded fix:

  if (strchr(s.nodename, '.') == NULL)
    {
    struct hostent *host = gethostbyname(s.nodename);
    if (host)
      primary_hostname = string_copy((char *)host->h_name);
    else
      primary_hostname = string_copy(s.nodename);
    }
  else primary_hostname = string_copy(s.nodename);