次のコードでは、Doug Lea のmalloc.cとmalloc.hを使用しています。
#include <stdio.h>
#include <string.h>
#include "dlmalloc.h"
#define USE_DL_PREFIX
int main()
{
char *test = dlcalloc(5, 1);
strcpy(test, "helloextra");
dlfree(test); /* Shouldn't this crash? */
printf("%s", test);
return 0;
}
そしてtest
正しく印刷されます!誰か説明してくれませんか?このmallocを正しく調整していないと思います。誰かが以前にこの問題を抱えていましたか?
この問題が発生した後、Doug Lea の malloc を使い始めました。