COMMAND

    ircd

SYSTEMS AFFECTED

    ircd with ircu based code

PROBLEM

    Kevin Day  found following.   Most irc  networks using  ircu based
    servers have a  bug that can  cause users to  segfault the server.
    In m_join, the code doesn't  check to see if get_channel  returned
    failure (by returning NULL).  This is present in 2.10.06, lulea-r,
    ann-arbor, plano, Gothenburq, and toronto are for sure  suseptible
    (they crashed).

SOLUTION

    While the line numbers will probably be off, this patch will  work
    in most ircu based servers.

    --- ircd/channel.c      Tue Jul 13 19:58:46 1999
    +++ ircd/channel.c      Tue Jul 13 20:05:31 1999
    @@ -2004,6 +2004,12 @@

	      chptr = get_channel (sptr, name, !CREATE);    /* need the TS -Kev */

    +         if (!chptr) {
    +               sendto_one (sptr, err_str (ERR_NOSUCHCHANNEL),
    +                           me.name, parv[0], name);
    +               return(0);
    +         }
    +
	      sendto_serv_butone (cptr, ":%s MODE %s +%s%s %lu", me.name, name,
				  sendmode ? "o " : "", sendmode ? parv[0] : "",
				  chptr->creationtime);     /* send the MODE to the