1
0
mirror of https://github.com/anope/anope.git synced 2026-07-08 13:43:14 +02:00

BUILD : 1.7.21 (1363) BUGS : 842 NOTES : Fixed yet another memory leak; it wass cs_akick this time

git-svn-id: svn://svn.anope.org/anope/trunk@1363 31f1291d-b8d6-0310-a050-a5561fc1590b


git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1078 5417fbe8-f217-4b02-8779-1006273d7864
This commit is contained in:
geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b
2008-01-26 10:50:44 +00:00
parent 3e977708be
commit ba7e2d8440
3 changed files with 17 additions and 1 deletions
+1
View File
@@ -15,6 +15,7 @@ Anope Version S V N
01/26 F Memory leak and old code in ChanServ CLEAR. [#839]
01/26 F Memory leak in ChanServ LIST. [#840]
01/26 F Memory leaks in HostServ SETALL. [#841]
01/26 F Memory leak in ChanServ AKICK. [#842]
Provided by Jan Milants <jan_renee@msn.com> - 2008
01/16 F Server traversion with next_server() failed to list all servers. [#831]
+11
View File
@@ -209,6 +209,7 @@ int do_akick(User * u)
NickAlias *na = findnick(mask);
NickCore *nc = NULL;
char *nick, *user, *host;
int freemask = 0;
if (readonly) {
notice_lang(s_ChanServ, u, CHAN_AKICK_DISABLED);
@@ -219,6 +220,7 @@ int do_akick(User * u)
split_usermask(mask, &nick, &user, &host);
mask =
scalloc(strlen(nick) + strlen(user) + strlen(host) + 3, 1);
freemask = 1;
sprintf(mask, "%s!%s@%s", nick, user, host);
free(nick);
free(user);
@@ -235,6 +237,8 @@ int do_akick(User * u)
if (ircd->except) {
if (is_excepted_mask(ci, mask) == 1) {
notice_lang(s_ChanServ, u, CHAN_EXCEPTED, mask, chan);
if (freemask)
free(mask);
return MOD_CONT;
}
}
@@ -247,6 +251,8 @@ int do_akick(User * u)
notice_lang(s_ChanServ, u, CHAN_AKICK_ALREADY_EXISTS,
(akick->flags & AK_ISNICK) ? akick->u.nc->
display : akick->u.mask, chan);
if (freemask)
free(mask);
return MOD_CONT;
}
}
@@ -255,6 +261,8 @@ int do_akick(User * u)
* the entire list. We simply add new entries at the end. */
if (ci->akickcount >= CSAutokickMax) {
notice_lang(s_ChanServ, u, CHAN_AKICK_REACHED_LIMIT, CSAutokickMax);
if (freemask)
free(mask);
return MOD_CONT;
}
ci->akickcount++;
@@ -308,6 +316,9 @@ int do_akick(User * u)
if (count)
notice_lang(s_ChanServ, u, CHAN_AKICK_ENFORCE_DONE, chan,
count);
if (freemask)
free(mask);
} else if (stricmp(cmd, "STICK") == 0) {
NickAlias *na;
+5 -1
View File
@@ -9,10 +9,14 @@ VERSION_MAJOR="1"
VERSION_MINOR="7"
VERSION_PATCH="21"
VERSION_EXTRA="-svn"
VERSION_BUILD="1362"
VERSION_BUILD="1363"
# $Log$
#
# BUILD : 1.7.21 (1363)
# BUGS : 842
# NOTES : Fixed yet another memory leak; it wass cs_akick this time
#
# BUILD : 1.7.21 (1362)
# BUGS : 841
# NOTES : Fixed memleaks in hs_setall