Hrrmmm shouldn't those lines be...

Rick Irving rirving at onecall.net
Thu Sep 7 22:14:28 UTC 2000


Whoa... Heath,
that renew MACRO -already- assigns the realloc to 
pointer p.


>#define RENEW(p, T, c)  \
>    (p = xrealloc((p), sizeof(T) * (c), __FILE__, __LINE__))


Like I said.....

Heath Kehoe wrote:
> 
> >
> >Also, since I am getting nit picky,
> >
> >do you really trust the following Macros uses:
> >
> >commands.c, line 670:
> >       grouplist = RENEW(grouplist, GROUPDATA, listsize);
> >perm.c, line 1526:
> >       auth_realms = RENEW(auth_realms, AUTHGROUP*, i+2);
> >perm.c, line 1542:
> >       access_realms = RENEW(access_realms, ACCESSGROUP*, i+2);
> >
> > shouldn't these be simply:
> >
> >< grouplist = RENEW(grouplist, GROUPDATA, listsize);
> >> RENEW(grouplist, GROUPDATA, listsize);
> >
> >...etc....
> >
> >   Is there a reason for the redundancy ?
> >
> 
> Because RENEW might have to move the data to make room, so it
> must return the pointer to where the data is, in case it moved.
> 
> Check your man page for realloc (which is what is behind the
> RENEW macro).
> 
> >
> >  (I'll find this memory leak yet.....   ;)
> >
> 
> Ah, you're trying to hunt down a memory leak... which part
> is leaking?  (i.e., innd, nnrpd, or innfeed?  or all of them?)
   

   I suspect INND, but it has been fatal to date..... (Out of swap)
I haven't been able to get clean data... :( (Process killed, out of
swap) 
yet.....
 
 I am doing general clean up to eliminate variables.....
 
:)


> 
> -heath



More information about the inn-workers mailing list