DAMAGE:After normal block
2016-05-27 17:30
218 查看
错误源头一,数组访问越界:
大家先看如下一段程序:int* a = new int[5];
a[5] = 3; // 这儿访问越界了
delete[] a;
在delete[] a;这句代码处将会出现:DAMAGE:After normal block(#93)的错误。
错误源头二:
char* pBuffer = new char[2];
int v = 12345;
memcpy(pBuffer, &v, sizeof(v));
delete[] pBuffer;
正如代码所表示的,我的缓冲区pBuffer有且仅分配了2Bytes的空间,然面我却向它塞了4Bytes的值,显然这是不正确的,DEBUG一下,将出现:DAMAGE:After normal block(#94)的错误。
下面是我自己遇到的错误:
char* dir_temp;
CString dirTemp;
dir_temp = dirTemp.GetBuffer(dirTemp.GetLength());
strcat(dir_temp, E_Quotes);//会造成数组越界,需要dirTemp.GetLength()+100;
相关文章推荐
- java微信开发引入jssdk一直报invalid url domain错的其他原因
- 第十四周阅读程序(3)
- JavaScript笔记(3)关于重复的定义和遗漏的定义
- list 用法
- Apk动态写入信息
- Debugging kernel and modules via gdb
- selenium + python自动化测试环境搭建
- mysql主从配置
- asp.net 服务器端缓存与客户端缓存 [转]
- npm 安装不了模块
- 外观模式及php实现
- 禁止 Httpclient4.3 自动跳转
- Android控件ImageSwitcher实现左右图片切换功能
- window7下部署Dubbo,zookeeper
- 虚拟机开机,无法打开内核设备“\\.\Global\vmx86”: 系统找不到指定的文件
- 轮播图
- poj3186(递推)
- poj 2186 Popular Cows 强连通量分解模板
- 【开源】1句代码搞定图片批量上传,无需什么代码功底【无语言界限】
- Mvc创建并注册防盗链