Thanks for your answers !

Each information from both of you are interesting !
Sorry for disturbing and take a lot from your free times.


On 2024-09-22T21:08:04.000+02:00, Otto Moerbeek <o...@drijf.net> wrote:

>  On Sun, Sep 22, 2024 at 08:07:54PM +0200, Страхиња Радић wrote:
> 
> 
> >    Дана 24/09/22 07:59PM, Страхиња Радић написа:
> > 
> > >     Of course, that would cause a memory leak if the memory was assigned 
> > > to 
> > >   a variable, like this:
> > >   
> > >    char* tmp = malloc(13);
> > >   
> > >   otherwise, like this:
> > >   
> > >    malloc(13);
> > >   
> > >   the result is discarded and a warning is printed if the program is 
> > >   compiled by GCC.
> >   
> >  Correction/clarification: even if the result is discarded, this still
> >  causes the leak, just the pointer to the allocated memory is not
> >  assigned to a variable. This is easily verifiable by using
> >  ktrace(1)/kdump(1).
> >  
>  
> All correct, but still, on process exit all resources used by a
> program are cleaned up. In that sense it is not a memory leak to not
> call free. Especially for one-time allocations.
> 
> It is differrent if the malloc is e.g. in a loop, causing memory usage
> to grow while executing the program. That is a memory leak you want to
> fix, especially if the program is a long running one, like a daemon.
> 
>       -Otto

Reply via email to