寫內(nèi)存越界導(dǎo)致之后的 malloc 失敗,原因未究
Posted on 2010-01-15 16:29 S.l.e!ep.¢% 閱讀(1213) 評論(0) 編輯 收藏 引用 所屬分類: C++寫內(nèi)存越界導(dǎo)致之后的 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);?//?<====?內(nèi)存分配失敗
????free(lpszBuf);????????????????????????????//?<====?出錯?執(zhí)行到?int?3;?指令
????free(lpszTest);
????return?0;
}
#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);?//?<====?內(nèi)存分配失敗
????free(lpszBuf);????????????????????????????//?<====?出錯?執(zhí)行到?int?3;?指令
????free(lpszTest);
????return?0;
}


