摘要: 偶然中发现,下面的两端代码表现不一样void main(){ void* p1 = malloc(32); free(p1); free(p1); // 这里会报double free 错误,程序退出}void main(){ void* p1 = malloc(32); void* p2 = malloc(32); free(p1); free(p2); free(p1); // 正常没有报错 free(p2);//正常,没有报错 ...}我就开始疑惑,难道glibc malloc库对doublefree错误的检测那么傻B,只有连续两次free的指针一样才能检测出来?然... 阅读全文
posted @ 2013-12-15 18:21 cgj 阅读(1855) 评论(0) 推荐(0) 编辑