On Fri, 10 Nov 2017 10:33:10 -0500
Robert Theisen <[email protected]> wrote:

[snip]

> and that macro gets copied to dbuf at line  952
> 
>     /* Write the standard macros */
>     macro = StandardSendmailMacros;
>     while (*macro) {
>         append_macro_value(&dbuf, ctx, *macro);
>         macro++;
>     }
> 
> 
> Is it possible that that dbuf is not getting freed properly on down
> the line?

I can't see how.  A bit further down:

    if (data->cmdFD < 0) {
        dbuf_free(&dbuf);
        cleanup(ctx);
        DEBUG_EXIT("envfrom", "SMFIS_TEMPFAIL");
        return SMFIS_TEMPFAIL;
    }
    if (write_dbuf(&dbuf, data->cmdFD, data, "COMMANDS") < 0) {
        dbuf_free(&dbuf);
        cleanup(ctx);
        DEBUG_EXIT("envfrom", "SMFIS_TEMPFAIL");
        return SMFIS_TEMPFAIL;
    }
    dbuf_free(&dbuf);

and there are no branches or returns between the code you posted
and the code I posted above.  However, I just checked one of our
busy servers and the mimedefang process is 8GB which seems large.
I'll investigate to see if I can find a memory leak.

Regards,

Dianne.
_______________________________________________
NOTE: If there is a disclaimer or other legal boilerplate in the above
message, it is NULL AND VOID.  You may ignore it.

Visit http://www.mimedefang.org and http://www.roaringpenguin.com
MIMEDefang mailing list [email protected]
http://lists.roaringpenguin.com/mailman/listinfo/mimedefang

Reply via email to