=====malloc===== Les statistiques de malloc peuvent être lues via la commande ''mallinfo'' (include ''malloc.h''). Sur la base du test suivant : #include #include int main() { struct mallinfo mli = mallinfo(); for (int i = 0; i < 1; i++) { (void)malloc(57); } struct mallinfo mli2 = mallinfo(); printf("%zu %zu %zu\n", mli.arena, mli.uordblks, mli.fordblks); printf("%zu %zu %zu\n", mli2.arena, mli2.uordblks, mli2.fordblks); } J'ai constaté que l'espace pris dans ''uordblks'' suit une forme ''32+16*i''. Donc chaque ''malloc'' prend au minimum 32 octets. Et parmi ces 32+16*i octets, il y en a 8 qui sont réservés par la libc. Un article beaucoup plus complet sur le fonctionnement du malloc de la libc. [[https://sploitfun.wordpress.com/2015/02/10/understanding-glibc-malloc/|Understanding glibc malloc]] {{ :prog:gnu:libc:understanding_glibc_malloc_sploitf-u-n_2020-04-28_10_26_37_pm_.html |Archive du 10/02/2015 le 28/04/2020}} {{ :prog:gnu:libc:malloc.c |malloc.c}} {{ :prog:gnu:libc:arena.c |arena.c}}