Ciao a tutti, ho scritto un semplicissimo programmino per capire meglio il funzionamento delle funzioni in mcheck.h, io voglio rilevare un memory leak, e ho scritto questo:
Come si può vedere, la funzione foo alloca la memoria per la stringa senza mai rilasciarla, questo dovrebbe creare un memory leak, ma non viene mai rilevato. Infatti, eseguendo: mtrace ./eseguibile ottengo "No memory leaks.". Ora mi chiedo..perchè? E' evidente che ci dovrebbe essere.....codice:int foo(){ char *string; string = (char*)malloc(2048); if(string == -1) return -1; return 0; } void main(){ mtrace(); while(1) foo(); muntrace(); }