From d09e4fc6f1519b6750db125d8dc57581f5390ba6 Mon Sep 17 00:00:00 2001 From: Michael Poole Date: Wed, 17 Aug 2005 02:07:10 +0000 Subject: [PATCH] Avoid overwriting part of a server-set ban's banstr field. git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@1458 c9e4aea6-c8fd-4c43-8297-357d70d61c8c --- ChangeLog | 5 +++++ ircd/channel.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 67ca31e..b33bec6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2005-08-16 Michael Poole + + * ircd/channel.c (mode_parse_ban): Avoid overwriting part of + newban->banstr[] when the source is a server. (Spotted by jcq.) + 2005-08-16 Michael Poole * ircd/channel.c (joinbuf_join): Switch to &his instead of &me for diff --git a/ircd/channel.c b/ircd/channel.c index fcf1d3a..04d9299 100644 --- a/ircd/channel.c +++ b/ircd/channel.c @@ -2819,7 +2819,7 @@ mode_parse_ban(struct ParseState *state, int *flag_p) newban->flags = ((state->dir == MODE_ADD) ? BAN_ADD : BAN_DEL) | (*flag_p == MODE_BAN ? 0 : BAN_EXCEPTION); set_ban_mask(newban, collapse(pretty_mask(t_str))); - ircd_strncpy(newban->who, cli_name(state->sptr), HOSTLEN); + ircd_strncpy(newban->who, IsUser(state->sptr) ? cli_name(state->sptr) : "*", NICKLEN); newban->when = TStime(); apply_ban(&state->chptr->banlist, newban, 0); } -- 2.20.1