]> jfr.im git - irc/atheme/atheme.git/commitdiff
modules/chanserv/close: check correct flags variable for log target origin/release/7.2
authorAaron Jones <redacted>
Fri, 15 Jul 2022 01:09:02 +0000 (01:09 +0000)
committerAaron Jones <redacted>
Fri, 15 Jul 2022 01:19:57 +0000 (01:19 +0000)
A user reported that the ChanServ CLOSE command was not working for
their channel, saying that the channel could not be closed.

MC_HOLD and CHAN_LOG both have the same value (1), but the former is
for flags in `struct mychan`, and the latter is for `struct channel`.

This lead me to believe that the channel was defined as a log target,
when in reality it was checking the wrong flags field and deducing
that the channel was a log target because it was held.

Check the correct flags field.

(Cherry-picked from commit 51e84e63e5b696ef39d5)

Reported-by: @hello-smile6
modules/chanserv/close.c

index b62f222c487452241d9853017f5680b018760126..a718092e48c9c88eafd842655cc663a9f9338c56 100644 (file)
@@ -97,7 +97,7 @@ static void cs_cmd_close(sourceinfo_t *si, int parc, char *parv[])
                        return;
                }
 
-               if (mc->flags & CHAN_LOG)
+               if (mc->chan != NULL && mc->chan->flags & CHAN_LOG)
                {
                        command_fail(si, fault_noprivs, _("\2%s\2 cannot be closed."), target);
                        return;