Posted on 2010-01-15 16:29
S.l.e!ep.¢% 阅读(1183)
评论(0) 编辑 收藏 引用 所属分类:
C++
写内存越界导致之后的 malloc 失败,原因未究
#include <stdlib.h>
#include <stdio.h>
#include <memory.h>
int main()
{
#define BUF_SIZE 25
_asm int 3;
char* lpszBuf = (char*)malloc(BUF_SIZE);
memset(lpszBuf, 0x00, BUF_SIZE*2);
char* lpszTest = (char*)malloc(BUF_SIZE); // <==== 内存分配失败
free(lpszBuf); // <==== 出错 执行到 int 3; 指令
free(lpszTest);
return 0;
}