一个隐蔽的C内存越界错误
来源:互联网 发布:powermill软件下载 编辑:程序博客网 时间:2024/04/29 14:38
void set3(int *tmp)
{
*tmp = 6;
}
{
*tmp = 6;
}
int main(int argc, char* argv[])
{
int a = 0;
char * pcTemp = NULL;
int * piTemp = NULL;
pcTemp = (char*)malloc(3);
if( NULL == pcTemp )
{
return 0;
}
// *(int *)pcTemp = 6;
// *pcTemp = (int)6;
set3((int *)pcTemp);
{
int a = 0;
char * pcTemp = NULL;
int * piTemp = NULL;
pcTemp = (char*)malloc(3);
if( NULL == pcTemp )
{
return 0;
}
// *(int *)pcTemp = 6;
// *pcTemp = (int)6;
set3((int *)pcTemp);
printf("Hello World!/n");
free(pcTemp);
return 0;
}
free(pcTemp);
return 0;
}
////////////////////////////// //////////////////
pcTemp 只malloc了3个字节,
但是在set3函数中,将其转换成int指针后,int指针所指的 4个字节的内容被赋值了,造成内存越界。
- 一个隐蔽的C内存越界错误
- 通过下标遍历std::vector,一个非常隐蔽的越界错误
- 一个很隐蔽的数组下标越界问题
- 隐蔽的数组越界问题
- C语言中内存越界的一个解决办法
- 一个隐蔽的Bug
- 一个比较隐蔽的c++释放空间错误
- C语言malloc()的一个问题——堆越界的一个错误。
- 关于c指针传值的隐蔽错误
- 一个隐蔽的数组访问越界的问题(竟然纠结半小时,有可能是我水平太低了)
- C/C++常见指针错误 and 内存访问越界
- C基础 内存越界和内存监测的简单处理
- 一个隐蔽的内存泄漏——pthread_create后没有detach导致内存持续增长
- 解决了一个隐蔽的内存泄漏——pthread_create后没有detach导致内存持续增长
- 解决了一个隐蔽的内存泄漏——pthread_create后没有detach导致内存持续增长
- 检测内存越界错误的工具---pageheap和gflag
- 内存被错误改变,越界写的分析
- c语言中较常见的由内存分配引起的错误_内存越界_内存未初始化_内存太小_结构体隐含指针
- 可输入的下拉框
- 平安夜
- ORACLE性能初步调整
- 全局声明的元素 与 全局声明的元素 区别 ?
- 部署一个应用到Tomcat 5.5.17中的第一步配置
- 一个隐蔽的C内存越界错误
- 想离职,别说烂理由
- 理财,其实就是量入为出
- 共青团系统出身的中共高级干部一览[zz]
- 专注的力量
- Delphi基础
- [Rubyist.cn]加入了“显示访客地理位置”功能
- Asp.Net 常用代码参考
- c#的属性