Yahoo Groups archive

Milter-greylist

Index last updated: 2026-04-28 23:32 UTC

Message

Re: [milter-greylist] version 4.0a4 aborts with message: "mg_setreply(): invoked twice"

2007-05-31 by Emmanuel Dreyfus

On Thu, May 31, 2007 at 05:36:37PM +0200, attila.bruncsak@... wrote:
> So here we are:

You rock! :-)

> May 30 19:14:35 mail1 milter-greylist: l4UHCKir217629: mg_setreply(): invoked twice
> Since I am using delayed reject option, the code part which triggers the error is this one:
> 
>         if (priv->priv_delayed_reject) {
>                 LIST_FOREACH(rcpt, &priv->priv_rcpt, r_list)
>                         log_and_report_greylisting(ctx, priv, rcpt->r_addr);
> 
> The log_and_report_greylisting() calls mg_setreply, and there is no smtp_reply_free() in the loop.

What about this fix?

Index: milter-greylist.c
===================================================================
RCS file: /cvsroot/milter-greylist/milter-greylist.c,v
retrieving revision 1.188
diff -U2 -r1.188 milter-greylist.c
--- milter-greylist.c   30 May 2007 23:32:06 -0000      1.188
+++ milter-greylist.c   31 May 2007 23:38:02 -0000
@@ -2904,8 +2904,8 @@
 
 	if (priv->priv_sr.sr_msg_x != NULL) {
-		mg_log(LOG_ERR, "%s: mg_setreply(): invoked twice",
-		     priv->priv_queueid);
-		exit(E _SOFTWARE);
+		free(priv->priv_sr.sr_msg_x);
+		priv->priv_sr.sr_msg_x = NULL;
 	}
+
 	priv->priv_sr.sr_msg_x =
 		fstring_expand(priv, rcpt, priv->priv_sr.sr_msg);


-- 
Emmanuel Dreyfus
manu@...

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.