From 1e23c7fdf0817c0d797316e7d7aa741219985ed4 Mon Sep 17 00:00:00 2001 From: "geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b" Date: Sat, 26 Jan 2008 10:15:04 +0000 Subject: [PATCH] BUILD : 1.7.21 (1357) BUGS : 836 NOTES : Fixed memleaks in os_clearmodes git-svn-id: svn://svn.anope.org/anope/trunk@1357 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1072 5417fbe8-f217-4b02-8779-1006273d7864 --- Changes | 1 + src/core/os_clearmodes.c | 8 ++++---- version.log | 6 +++++- 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 - 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