Re: Memory leak in Libnet

Frédéric Raynal <[email protected]> Tue, 6 Apr 2004 10:05:53 +0200
Newsgroups gmane.comp.security.libnet
Message-ID <[email protected]>
Hello

On Mon, Apr 05, 2004 at 06:08:12PM -0700, [email protected] wrote:
> Hi Mike,
> 
> It seems the following "strdup" is a memory leak
> 
> libnet-1.1.2:
> 
> [libnet_if_addr.c]
>     238
>     239         if ((al->device = strdup(device)) == NULL)
>     240         {
>     241             snprintf(errbuf, LIBNET_ERRBUF_SIZE,
>     242                     "%s(): strdup not enough memory\n", __func__);
>     243             return(-1);
>     244         }
> 
> 
> Should we do a "free" before each strdup() except when al->device 
> is NULL ?
> 

I dont think so : al is a pointer on a static array of structures.
It can easily be checked with valgrind for instance ... but as I am on
vacation and connected on a Mac OS X through a 56k line, I'll let that
to the reader as an exercise ;-) 


	Fred Raynal