X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=blobdiff_plain;f=src%2Fngircd%2Flists.c;h=21058a03116298b6cc81ff98f40b40d0c9caa502;hp=45a4874b6e94f268aa2a0942cdf249c4aec12a24;hb=a14eb495b75c8c2a2a32ddb6eecf50dc174f811c;hpb=8ec17063a6e651229e04605592ce3d6114075655 diff --git a/src/ngircd/lists.c b/src/ngircd/lists.c index 45a4874b..21058a03 100644 --- a/src/ngircd/lists.c +++ b/src/ngircd/lists.c @@ -147,11 +147,8 @@ Lists_Add(struct list_head *h, const char *Mask, time_t ValidUntil, strlcpy(newelem->mask, Mask, sizeof(newelem->mask)); if (Reason) { - newelem->reason = malloc(strlen(Reason) + 1); - if (newelem->reason) - strlcpy(newelem->reason, Reason, - sizeof(newelem->reason)); - else + newelem->reason = strdup(Reason); + if (!newelem->reason) Log(LOG_EMERG, "Can't allocate memory for new list reason text!"); } @@ -286,7 +283,7 @@ Lists_MakeMask(const char *Pattern) excl = NULL; if (!at && !excl) { - /* Neither "!" nor "@" found: use string as nick name */ + /* Neither "!" nor "@" found: use string as nickname */ strlcpy(TheMask, Pattern, sizeof(TheMask) - 5); strlcat(TheMask, "!*@*", sizeof(TheMask)); return TheMask; @@ -345,7 +342,7 @@ Lists_CheckReason(struct list_head *h, CLIENT *Client) while (e) { next = e->next; - if (Match(e->mask, Client_Mask(Client))) { + if (Match(e->mask, Client_MaskCloaked(Client))) { if (e->valid_until == 1) { /* Entry is valid only once, delete it */ LogDebug("Deleted \"%s\" from list (used).",