summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changes1
-rw-r--r--src/core/os_clearmodes.c8
-rw-r--r--version.log6
3 files changed, 10 insertions, 5 deletions
diff --git a/Changes b/Changes
index f889149b5..8c8eeb3e1 100644
--- a/Changes
+++ b/Changes
@@ -9,6 +9,7 @@ Anope Version S V N
01/26 F Various oddities in moduleAddData(). [#833]
01/26 F Various oddities in ChanServ suspend code. [#834]
01/26 F Channel walking for mass modes and restoring topics. [#835]
+01/26 F Memory leaks in OperServ CLEARMODES. [#836]
Provided by Jan Milants <jan_renee@msn.com> - 2008
01/16 F Server traversion with next_server() failed to list all servers. [#831]
diff --git a/src/core/os_clearmodes.c b/src/core/os_clearmodes.c
index 2cddf9438..36f1b97bf 100644
--- a/src/core/os_clearmodes.c
+++ b/src/core/os_clearmodes.c
@@ -155,7 +155,7 @@ int do_clearmodes(User * u)
if (!chan_has_user_status(c, cu->user, CUS_VOICE))
continue;
argv[0] = sstrdup("-v");
- argv[1] = sstrdup(cu->user->nick);
+ argv[1] = cu->user->nick;
anope_cmd_mode(s_OperServ, c->name, "-v %s",
cu->user->nick);
chan_set_modes(s_OperServ, c, 2, argv, 0);
@@ -182,7 +182,7 @@ int do_clearmodes(User * u)
if (!chan_has_user_status(c, cu->user, CUS_HALFOP))
continue;
argv[0] = sstrdup("-h");
- argv[1] = sstrdup(cu->user->nick);
+ argv[1] = cu->user->nick;
anope_cmd_mode(s_OperServ, c->name, "-h %s",
cu->user->nick);
chan_set_modes(s_OperServ, c, 2, argv, 0);
@@ -208,7 +208,7 @@ int do_clearmodes(User * u)
if (!chan_has_user_status(c, cu->user, CUS_OWNER))
continue;
argv[0] = sstrdup(ircd->ownerunset);
- argv[1] = sstrdup(cu->user->nick);
+ argv[1] = cu->user->nick;
anope_cmd_mode(s_OperServ, c->name, "%s %s",
ircd->ownerunset, cu->user->nick);
chan_set_modes(s_OperServ, c, 2, argv, 0);
@@ -235,7 +235,7 @@ int do_clearmodes(User * u)
if (!chan_has_user_status(c, cu->user, CUS_PROTECT))
continue;
argv[0] = sstrdup(ircd->adminunset);
- argv[1] = sstrdup(cu->user->nick);
+ argv[1] = cu->user->nick;
anope_cmd_mode(s_OperServ, c->name, "%s %s",
ircd->adminunset, cu->user->nick);
chan_set_modes(s_OperServ, c, 2, argv, 0);
diff --git a/version.log b/version.log
index 166ee6567..14cbcfc95 100644
--- a/version.log
+++ b/version.log
@@ -9,10 +9,14 @@ VERSION_MAJOR="1"
VERSION_MINOR="7"
VERSION_PATCH="21"
VERSION_EXTRA="-svn"
-VERSION_BUILD="1356"
+VERSION_BUILD="1357"
# $Log$
#
+# BUILD : 1.7.21 (1357)
+# BUGS : 836
+# NOTES : Fixed memleaks in os_clearmodes
+#
# BUILD : 1.7.21 (1356)
# BUGS : 835
# NOTES : Fixed channel walking for do_mass_mode() and restore_unsynced_topics() to use firstchan/nextchan