summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjantje_85 <jantje_85@5417fbe8-f217-4b02-8779-1006273d7864>2009-08-30 21:40:46 +0000
committerjantje_85 <jantje_85@5417fbe8-f217-4b02-8779-1006273d7864>2009-08-30 21:40:46 +0000
commit1f2206159ecdc79c9d97f62204c76b07c6753411 (patch)
tree125131be54963992a12f8b493b520fb514b2d64c /src
parent9900f83d943d22733c94a227650a0d6f060eb0e4 (diff)
Fixed segfault bug & check_modes() going insane over uninitialized variable.
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2489 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r--src/chanserv.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/chanserv.c b/src/chanserv.c
index 3017bfd8a..0d0914f69 100644
--- a/src/chanserv.c
+++ b/src/chanserv.c
@@ -731,7 +731,7 @@ void save_cs_dbase()
void check_modes(Channel * c)
{
char modebuf[64], argbuf[BUFSIZE], *end = modebuf, *end2 = argbuf;
- uint32 modes;
+ uint32 modes = 0;
ChannelInfo *ci;
CBModeInfo *cbmi;
CBMode *cbm;
@@ -816,9 +816,9 @@ void check_modes(Channel * c)
}
}
} else if (cbmi->getvalue && cbmi->csgetvalue
- && ((ci->mlock_on & cbmi->flag)
- || (DefConModesOn & cbmi->flag))
- && (c->mode & cbmi->flag)) {
+ && ((ci && (ci->mlock_on & cbmi->flag))
+ || (DefConModesOn & cbmi->flag))
+ && (c->mode & cbmi->flag)) {
char *value = cbmi->getvalue(c);
char *csvalue;