]> jfr.im git - irc/atheme/atheme.git/commitdiff
libathemecore: flags: update_chanacs_flags(): do not assume that a protocol module...
authorWilliam Pitcock <redacted>
Fri, 15 Apr 2016 09:05:52 +0000 (04:05 -0500)
committerWilliam Pitcock <redacted>
Fri, 15 Apr 2016 09:07:09 +0000 (04:07 -0500)
this is fine because update_chanacs_flags() is called at a final point after it is guaranteed
that a protocol module is loaded or the process has gracefully exited.

libathemecore/flags.c

index 14609381282d20c8f869db10a7f95a57d2317766..f4c96c2c1c113fdf964ef976d6ff07caa092bcdc 100644 (file)
@@ -346,12 +346,15 @@ void update_chanacs_flags(void)
                        ca_all_enable |= chanacs_flags[i].value;
        }
 
-       if (!ircd->uses_halfops)
-               ca_all &= ~(CA_HALFOP | CA_AUTOHALFOP);
-       if (!ircd->uses_protect)
-               ca_all &= ~CA_USEPROTECT;
-       if (!ircd->uses_owner)
-               ca_all &= ~CA_USEOWNER;
+       if (ircd != NULL)
+       {
+               if (!ircd->uses_halfops)
+                       ca_all &= ~(CA_HALFOP | CA_AUTOHALFOP);
+               if (!ircd->uses_protect)
+                       ca_all &= ~CA_USEPROTECT;
+               if (!ircd->uses_owner)
+                       ca_all &= ~CA_USEOWNER;
+       }
 }
 
 unsigned int xflag_lookup(const char *name)