Explorar o código

* Fix small memory leak in channel member handling

Bryan Drewery %!s(int64=16) %!d(string=hai) anos
pai
achega
6d1ff681be
Modificáronse 1 ficheiros con 6 adicións e 0 borrados
  1. 6 0
      src/mod/irc.mod/chan.c

+ 6 - 0
src/mod/irc.mod/chan.c

@@ -232,6 +232,12 @@ static memberlist *newmember(struct chanset_t *chan, char *nick)
   n->delay = 0L;
   n->hops = -1;
   if (!lx) {
+    // Free the pseudo-member created in init_channel()
+    if (!chan->channel.member->nick[0]) {
+      free(chan->channel.member);
+      chan->channel.member = NULL;
+    }
+
     n->next = chan->channel.member;
     chan->channel.member = n;
   } else {