[Mimedefang] Mimedefang with postfix. Process memory usage over time.
    Dianne Skoll 
    dfs at roaringpenguin.com
       
    Fri Nov 10 16:09:23 EST 2017
    
    
  
On Fri, 10 Nov 2017 13:18:15 -0500
Robert Theisen <trobert at redhat.com> wrote:
> {
>     struct privdata *data;
>     char *val;
>     char buf[256];
>     if (*macro && *(macro+1)) {
>         /* Longer than 1 char -- use curlies */
>         snprintf(buf, sizeof(buf), "{%s}", macro);
>         val = smfi_getsymval(ctx, buf);
>     } else {
>         val = smfi_getsymval(ctx, macro);
>     }
>  ...
> }
> 
> at         snprintf(buf, sizeof(buf), "{%s}", macro);
> 
> that buf[256] is not getting cleaned up even though it is a local
> variable that is falling out of scope?
Um what?  There's nothing to clean up.  CLeaning that up simply
involves the C compiler incrementing the stack pointer by sizeof(buf);
it's an automatic variable.
> The strike against that theory would be that my memory dump shows that
> the "i" and "j" variables are included in that memory chunk.  But the
> single character i and j values are never copied to the local buf[256]
> variable.
If you're linking against a version of libmilter older than 8.14.4, the
library has a memory leak in it that could be causing this.
Regards,
Dianne.
    
    
More information about the MIMEDefang
mailing list