Fix dereference of invalid pointer with ?chaninfo of empty +z channel.
[srvx.git] / src / opserv.c
index 7457336a78cb30295f01d605e573405c1662f403..f9af6bb80ad8e61098e66f4fe1ddd0460217314d 100644 (file)
@@ -490,7 +490,9 @@ static MODCMD_FUNC(cmd_chaninfo)
     qsort(members, channel->members.used, sizeof(members[0]), modeNode_sort);
 
     /* Display the array. */
-    show_oplevels = (members[0]->modes & MODE_CHANOP) && (members[0]->oplevel < MAXOPLEVEL);
+    show_oplevels = (channel->members.used != 0)
+        && (members[0]->modes & MODE_CHANOP)
+        && (members[0]->oplevel < MAXOPLEVEL);
     for (n=0; n<channel->members.used; n++) {
         moden = members[n];
         if (moden->modes & MODE_CHANOP) {