summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changes1
-rw-r--r--src/core/cs_clear.c3
-rw-r--r--version.log3
3 files changed, 5 insertions, 2 deletions
diff --git a/Changes b/Changes
index 30f751b91..d2717cd86 100644
--- a/Changes
+++ b/Changes
@@ -1,6 +1,7 @@
Anope Version 1.8 - SVN
-----------------------
4/15 F Fixed os_info to backup its database on Windows [ #00]
+4/15 F Fixed a potential crash in cs_clear ops [#1154]
Anope Version 1.8.4
-------------------
diff --git a/src/core/cs_clear.c b/src/core/cs_clear.c
index adf0ef221..b1aaa81ee 100644
--- a/src/core/cs_clear.c
+++ b/src/core/cs_clear.c
@@ -186,6 +186,7 @@ int do_clear(User * u)
struct c_userlist *cu, *next;
if (ircd->svsmode_ucmode) {
+ av[0] = chan;
anope_cmd_svsmode_chan(av[0], "-o", NULL);
if (ircd->owner) {
anope_cmd_svsmode_chan(av[0], ircd->ownerunset, NULL);
@@ -206,7 +207,7 @@ int do_clear(User * u)
snprintf(tmp, BUFSIZE, "-%s%s%s", (isop ? "o" : ""), (isadmin ?
ircd->adminunset+1 : ""), (isown ? ircd->ownerunset+1 : ""));
- av[0] = chan;
+ av[0] = chan; /* do_cmode can modify av[0] */
if (ircdcap->tsmode) {
snprintf(buf, BUFSIZE - 1, "%ld", (long int) time(NULL));
av[1] = buf;
diff --git a/version.log b/version.log
index 1c9e33fd1..00982edd8 100644
--- a/version.log
+++ b/version.log
@@ -9,9 +9,10 @@ VERSION_MAJOR="1"
VERSION_MINOR="8"
VERSION_PATCH="4"
VERSION_EXTRA="-svn"
-VERSION_BUILD="2894"
+VERSION_BUILD="2895"
# $Log$ # Changes since the 1.8.4 Release
+#Revision 2895 - Fixed bug #1154 - Fixed a potential crash in cs_clear ops
#Revision 2894 - Check if a command routine exists before all command calls
#Revision 2893 - Closed a forgotten file pointer in os_info that would make Windows backups of os_info.db fail