From f09747bbc14a8f086ea137f4d71c77a84465bf27 Mon Sep 17 00:00:00 2001 From: Michael Poole Date: Mon, 8 Mar 2010 21:29:53 -0500 Subject: [PATCH] Fix dereference of invalid pointer with ?chaninfo of empty +z channel. src/opserv.c (cmd_chaninfo): Make sure there is at least one element in the members array before reading from the first element. --- src/opserv.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/opserv.c b/src/opserv.c index 7457336..f9af6bb 100644 --- a/src/opserv.c +++ b/src/opserv.c @@ -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; nmembers.used; n++) { moden = members[n]; if (moden->modes & MODE_CHANOP) { -- 2.20.1