标签: memory-management malloc free
我最近在接受采访时被要求写信 -
注意:这些函数可以在内部使用malloc和free来分配和释放内存。
有人可以指导我。
答案 0 :(得分:1)
mymalloc可以使用sbrk(0)的值来检查程序堆中断的当前位置。
检查损坏部分有点棘手。如果您只是想确保修改200之后的字节,那么这可以实现。由于每个内存分配在分配的缓冲区大小之前都有一个标头,用于存储分配的大小,因此您可以检查下一个块的标头,即存储在201位的标头,以确保程序跨越其边界写入201。 / p>