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