summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrstein drstein@31f1291d-b8d6-0310-a050-a5561fc1590b <drstein drstein@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2008-02-04 15:54:32 +0000
committerdrstein drstein@31f1291d-b8d6-0310-a050-a5561fc1590b <drstein drstein@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2008-02-04 15:54:32 +0000
commit8d6b3b17fc6ef6af58e4b0017290023469bcadf4 (patch)
tree6fad3640338639f973355c2321755b2016040f59 /src
parent395f3edaccb10fce088b2426bd38026ab593fdec (diff)
BUILD : 1.7.21 (1365) BUGS : 850, 851, 852 NOTES : Fixed several memory leaks reported by Trystan. Do not forget to free allocated memory!
git-svn-id: svn://svn.anope.org/anope/trunk@1365 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1080 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r--src/botserv.c10
-rw-r--r--src/core/bs_fantasy_seen.c2
-rw-r--r--src/core/bs_fantasy_unban.c3
3 files changed, 13 insertions, 2 deletions
diff --git a/src/botserv.c b/src/botserv.c
index 8f76fa5f9..cc2dadd89 100644
--- a/src/botserv.c
+++ b/src/botserv.c
@@ -282,6 +282,9 @@ void botchanmsgs(User * u, ChannelInfo * ci, char *buf)
&& (stristr(nbuf, wordbuf)))) {
mustkick = 1;
}
+
+ /* free previous (sc)allocated memory (#850) */
+ free(wordbuf);
}
}
} else if (bw->type == BW_START) {
@@ -341,13 +344,16 @@ void botchanmsgs(User * u, ChannelInfo * ci, char *buf)
bot_kick(ci, u, BOT_REASON_BADWORD_GENTLE);
else
bot_kick(ci, u, BOT_REASON_BADWORD, bw->word);
+
+ /* free the normalized buffer before return (#850) */
+ Anope_Free(nbuf);
+
return;
}
}
/* Free the normalized buffer */
- if (nbuf)
- free(nbuf);
+ Anope_Free(nbuf);
}
/* Flood kicker */
diff --git a/src/core/bs_fantasy_seen.c b/src/core/bs_fantasy_seen.c
index d7548f117..75abdd26b 100644
--- a/src/core/bs_fantasy_seen.c
+++ b/src/core/bs_fantasy_seen.c
@@ -131,6 +131,8 @@ int do_fantasy(int argc, char **argv)
target);
anope_cmd_privmsg(ci->bi->nick, ci->name, "%s", buf);
}
+ /* free myStrGetToken(ed) variable target (#851) */
+ Anope_Free(target);
}
return MOD_CONT;
diff --git a/src/core/bs_fantasy_unban.c b/src/core/bs_fantasy_unban.c
index 7f0bc7f5a..a17e06551 100644
--- a/src/core/bs_fantasy_unban.c
+++ b/src/core/bs_fantasy_unban.c
@@ -73,6 +73,9 @@ int do_fantasy(int argc, char **argv)
common_unban(ci, u->nick);
else
common_unban(ci, target);
+
+ /* free target if needed (#852) */
+ Anope_Free(target);
}
return MOD_CONT;