summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2010-10-06 16:20:50 -0400
committerAdam <Adam@anope.org>2010-10-06 16:20:50 -0400
commit4c64c86ef4ddf9ff09c8f51f8a38e20f0513ae8d (patch)
tree747ade72b13bd960e4b404afe231c96e121677e9
parentcb975f4a6c9199179ee8b0e6aec2c0951856709d (diff)
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.
-rw-r--r--src/actions.c9
-rw-r--r--src/botserv.c9
-rw-r--r--version.log3
3 files changed, 16 insertions, 5 deletions
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]);
}
}
diff --git a/src/botserv.c b/src/botserv.c
index 0b2ad746c..605a0292e 100644
--- a/src/botserv.c
+++ b/src/botserv.c
@@ -789,11 +789,16 @@ void bot_join(ChannelInfo * ci)
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]);
}
}
diff --git a/version.log b/version.log
index 888888e71..f6dcb85ca 100644
--- a/version.log
+++ b/version.log
@@ -8,9 +8,10 @@ VERSION_MAJOR="1"
VERSION_MINOR="8"
VERSION_PATCH="5"
VERSION_EXTRA="-git"
-VERSION_BUILD="3043"
+VERSION_BUILD="3044"
# $Log$ # Changes since 1.8.5 Release
+#Revision 3044 - 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.
#Revision 3043 - Fixed /nickserv saset display to change the nicktracking of the users affected by it, not the user executing it
#Revision 3042 - Fixed /nickserv group to use nicktracking if enabled
#Revision 3041 - Rewrote the mail forking code to use pipes, sometimes mails wouldn't work with the old method