X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=blobdiff_plain;f=src%2Fngircd%2Flists.c;h=ab2aeb3c32069fec47fa101d44660749db22ba27;hp=d98dc6c847ec85cf9d13fca676bb78f26e5dd4df;hb=b130b35f48d19450240748425e12d21f2c38350f;hpb=b4d0a4038398c23d015bd3faf6247a0dd91016a9 diff --git a/src/ngircd/lists.c b/src/ngircd/lists.c index d98dc6c8..ab2aeb3c 100644 --- a/src/ngircd/lists.c +++ b/src/ngircd/lists.c @@ -16,22 +16,16 @@ * Management of IRC lists: ban, invite, etc. */ -#include "imp.h" #include +#include +#include +#include +#include -#include "defines.h" #include "conn.h" -#include "channel.h" #include "log.h" #include "match.h" -#include "messages.h" -#include "irc-write.h" - -#include -#include -#include -#include "exp.h" #include "lists.h" struct list_elem { @@ -279,16 +273,16 @@ Lists_MakeMask(const char *Pattern, char *mask, size_t len) if (!at && !excl) { /* Neither "!" nor "@" found: use string as nickname */ - strlcpy(mask, Pattern, len); + strlcpy(mask, Pattern, len - 5); strlcat(mask, "!*@*", len); } else if (!at && excl) { /* Domain part is missing */ - strlcpy(mask, Pattern, len); + strlcpy(mask, Pattern, len - 3); strlcat(mask, "@*", len); } else if (at && !excl) { /* User name is missing */ *at = '\0'; at++; - strlcpy(mask, Pattern, len); + strlcpy(mask, Pattern, len - 5); strlcat(mask, "!*@", len); strlcat(mask, at, len); } else {