summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
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;