Commit Diff


commit - 1e4a00f94f32edf5c2240864b7e56f69636312f4
commit + 15fec92ed75c3de0b32c40d005e93e3f61aef77e
blob - 11f8e888fec5292ff9b169c2fa9cd4954b2fc413
blob + 27a51dca1f3a3787932a53283b4308bce8fc3e25
--- src/ngircd/lists.c
+++ src/ngircd/lists.c
@@ -126,8 +126,19 @@ Lists_Add(struct list_head *h, const char *Mask, time_
 	assert(h != NULL);
 	assert(Mask != NULL);
 
-	if (Lists_CheckDupeMask(h, Mask))
+	e = Lists_CheckDupeMask(h, Mask);
+	if (e) {
+		e->valid_until = ValidUntil;
+		if (e->reason)
+			free(e->reason);
+		e->reason = malloc(strlen(Reason) + 1);
+		if (e->reason)
+			strlcpy(e->reason, Reason, strlen(Reason) + 1);
+		else
+			Log(LOG_EMERG,
+			    "Can't allocate memory for new list reason text!");
 		return true;
+	}
 
 	e = Lists_GetFirst(h);