From 4c64c86ef4ddf9ff09c8f51f8a38e20f0513ae8d Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 6 Oct 2010 16:20:50 -0400 Subject: Fixed a potential crash from accessing invalid memory after unbanning people when checking whether a host is akick stuck. Fixes /cs unban not reapplying stuck ban masks. --- src/actions.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/actions.c') diff --git a/src/actions.c b/src/actions.c index e464990aa..35ec93af3 100644 --- a/src/actions.c +++ b/src/actions.c @@ -184,11 +184,16 @@ void common_unban(ChannelInfo * ci, char *nick) entry_match(ban, u->nick, u->username, u->chost, ip)) { anope_cmd_mode(whosends(ci), ci->name, "-b %s", ban->mask); if (ircdcap->tsmode) - av[3] = ban->mask; + av[3] = sstrdup(ban->mask); else - av[2] = ban->mask; + av[2] = sstrdup(ban->mask); do_cmode(whosends(ci), ac, av); + + if (ircdcap->tsmode) + free(av[3]); + else + free(av[2]); } } -- cgit