diff options
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/os_akill.c | 15 | ||||
| -rw-r--r-- | src/core/os_chankill.c | 3 |
2 files changed, 14 insertions, 4 deletions
diff --git a/src/core/os_akill.c b/src/core/os_akill.c index 97a974e7f..1e41cb95a 100644 --- a/src/core/os_akill.c +++ b/src/core/os_akill.c @@ -138,11 +138,15 @@ int do_akill(User * u) } deleted = add_akill(u, mask, u->nick, expires, reason); - if (deleted < 0) + if (deleted < 0) { + if (AddAkiller) { + free(reason); + } return MOD_CONT; - else if (deleted) + } else if (deleted) { notice_lang(s_OperServ, u, OPER_AKILL_DELETED_SEVERAL, deleted); + } notice_lang(s_OperServ, u, OPER_AKILL_ADDED, mask); if (WallOSAkill) { @@ -175,9 +179,12 @@ int do_akill(User * u) u->nick, mask, reason, buf); } - if (readonly) + if (readonly) { notice_lang(s_OperServ, u, READ_ONLY_MODE); - + } + if (AddAkiller) { + free(reason); + } } else { syntax_error(s_OperServ, u, "AKILL", OPER_AKILL_SYNTAX); } diff --git a/src/core/os_chankill.c b/src/core/os_chankill.c index c391390e0..9a7bb19af 100644 --- a/src/core/os_chankill.c +++ b/src/core/os_chankill.c @@ -123,6 +123,9 @@ int do_chankill(User * u) } else { notice_lang(s_OperServ, u, CHAN_X_NOT_IN_USE, channel); } + if (AddAkiller) { + free(reason); + } } else { syntax_error(s_OperServ, u, "CHANKILL", OPER_CHANKILL_SYNTAX); } |
