structmalloc_chunk { size_t prev_size; /* Size of previous chunk (if free). */ size_t size; /* Size in bytes, including overhead. */
structmalloc_chunk *fd;/* double links -- used only if free. */ structmalloc_chunk *bk;
/* Only used for large blocks: pointer to next larger size. */ structmalloc_chunk *fd_nextsize;/* double links -- used only if free. */ structmalloc_chunk *bk_nextsize; };
ex@ubuntu:~/test$ gcc -g demo.c -o demo ex@ubuntu:~/test$ ./demo The diff of target between top_chunk is 0x1D95FD0. $ id uid=1000(ex) gid=1000(ex) groups=1000(ex),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare) $
structmalloc_chunk { size_t prev_size; /* Size of previous chunk (if free). */ size_t size; /* Size in bytes, including overhead. */
structmalloc_chunk *fd;/* double links -- used only if free. */ structmalloc_chunk *bk;
/* Only used for large blocks: pointer to next larger size. */ structmalloc_chunk *fd_nextsize;/* double links -- used only if free. */ structmalloc_chunk *bk_nextsize; };