-
-
[讨论]内存溢出会出现的现象?
-
发表于:
2008-12-28 19:27
4042
-
子线程:
char* pStr = new char [4];//分配内存空间,存储一个字符串
memset (pStr, 0 , 4); //内存空间初始化为0
pStr = "123"; // 字符串为123
int iLen = strlen(pStr ); //字符串长度为iLen为3,
SendMessage(hWnd, WM_XXXX, (WPARAM)pStr, (LPARAM)4);//发送到主界面
主线程WndProc:
char buff[20]; //分配局部字符数组
switch(wMessageID)
{
CASE: WM_XXXX
{
memcpy(buff, (char*)wParam, 20); //注意这里是越界处理
//正确的应该是
//memcpy(buff, (char*)wParam,(int)lParam);
free((char*)wParam); //此处在DBG版本时报出异常,但是 // 在release版本下运行暂时无异常提示
break;
}
}
虽然release版本下运行暂时没有出现问题,大家说说这个程序如果进行长时间运行会出现什么样的问题?
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课