Преглед изворни кода

* Fix some possible NULL dereferencing in channel name

Bryan Drewery пре 16 година
родитељ
комит
3bb9d141d1
2 измењених фајлова са 2 додато и 2 уклоњено
  1. 1 1
      src/chanprog.c
  2. 1 1
      src/mod/channels.mod/tclchan.c

+ 1 - 1
src/chanprog.c

@@ -109,7 +109,7 @@ struct chanset_t *findchan(const char *name)
   register struct chanset_t	*chan = NULL;
 
   for (chan = chanset; chan; chan = chan->next)
-    if (!rfc_casecmp(chan->name, name))
+    if (chan->name[0] && !rfc_casecmp(chan->name, name))
       return chan;
   return NULL;
 }

+ 1 - 1
src/mod/channels.mod/tclchan.c

@@ -804,7 +804,7 @@ int channel_modify(char *result, struct chanset_t *chan, int items, char **item,
   if (!conf.bot->hub && (chan != chanset_default)) {
     if ((old_status ^ chan->status) & (CHAN_INACTIVE | CHAN_BACKUP)) {
       if (!shouldjoin(chan) && (chan->ircnet_status & (CHAN_ACTIVE | CHAN_PEND)))
-        dprintf(DP_SERVER, "PART %s\n", chan->name);
+        dprintf(DP_SERVER, "PART %s\n", chan->name[0] ? chan->name : chan->dname);
       if (shouldjoin(chan) && !(chan->ircnet_status & (CHAN_ACTIVE | CHAN_PEND | CHAN_JOINING))) {
         dprintf(DP_SERVER, "JOIN %s %s\n", (chan->name[0]) ?
   			   chan->name : chan->dname,