使用malloc.c的堆分配内存的界限

时间:2011-02-14 18:55:02

标签: c linux malloc glibc

我正在使用Doug Lea的malloc.c(在Linux x86_64下)进行一些黑客攻击,我需要找到分配最少的地址和最高分配块的高端地址 - 换句话说,分配内存 - 当然不包括mspace的struct malloc_state簿记结构。我怎样才能获得这些地址?请注意,我不是在寻找整个堆的边界,而只是寻找已分配部分的边界,这通常包括最低和最高分配块之间的未分配“漏洞”。我一直在使用malloc_state结构的least_addr和top字段。它是否正确?谢谢!

1 个答案:

答案 0 :(得分:1)

据我所知,这应该有效。 Malloc使用这些值来定义它可以分配内存的位置。

这是一个malloc实现,它可能有助于回答您的问题。

http://asf.atmel.no/avr32/services/storage/mem_manager/dlmalloc/examples/example1/at32uc3a0512_evk1105/doc/html/a00036_source.html