La memoria allocata dinamicamente *deve* essere deallocata esplicitamente dal programmatore con la funzione free(), non viene deallocata in automatico all'uscita dallo scope di una funzione; questo dipende dalle diverse aree di memoria in cui viene allocato lo spazio richiesto nel caso dell'allocazione statica (stack) e dinamica (heap): il primo si ridimensiona automaticamente alla chiamata di una funzione e alla sua terminazione, il secondo deve essere ridimensionato manualmente dal programmatore con apposite chiamate di sistema (invocate tramite funzioni di libreria), questo almeno in C/C++.Oppure la memoria allocata da malloc viene liberata all'uscita della funzione?
PS: scegli titoli più significativi per i thread.