缓冲区溢出引起奇怪的bug
来源:互联网 发布:java 限制登录次数 编辑:程序博客网 时间:2024/05/22 10:25
上个星期给通讯录添加一个拼音检索功能,在做的过程里,出现一个问题:在主调函数里的局部变量
值被莫名其妙的清空了。
char tname[32] = {0};strcpy(tname, name);_strupr(tname);getpyhead(tpy, g_lib_records->recordArray[i].saveInfo.name);_strupr(tpy);
即在上面代码里的tname变量在调用getpyhead()函数后,值被清空了。对这个问题的第一反应
是:栈溢出。不过这完全是胡猜的。上网查原因,也没找到答案。就开始浏览代码,看看哪些的内
存操作不正常,结果发现了在被调函数里,有个内存初始化操作越界了( memset(tpy, 0, 64) ),
外面传进去的是32字节,里面却清了64字节。就这样把tname的值给清了。
- 缓冲区溢出引起奇怪的bug
- 控制台输出引起的奇怪溢出错误
- 3.1 sprintf函数引起的缓冲区溢出
- Firefox奇怪的文字溢出bug,百思不得其解
- 基于Sfilter框架Demo的缓冲区溢出BUG分析
- 奇怪的数值溢出
- 缓冲区溢出的原理
- 缓冲区溢出的原理
- sprintf的缓冲区溢出
- 缓冲区溢出的原理
- 堆栈的缓冲区溢出
- 缓冲区溢出的问题
- 简单的缓冲区溢出
- 谈谈缓冲区的溢出
- 缓冲区溢出的例子
- 缓冲区溢出的例子
- 缓冲区溢出的利用
- 一个奇怪的bug
- 利用ViewFlipper和手势实现软件透明导航
- 开心网(kaixin001.com)服务器架构的一点猜想
- 查询并删除重复记录的SQL语句
- oracle查询排序asc/desc 多列 order by
- SharePoint 2010 移除Ribbon菜单中的命令项
- 缓冲区溢出引起奇怪的bug
- sql2005中xml的操作
- 通讯-同步异步区别
- 高效读取与修改XML文件
- $(document).ready(function(){ })这个函数的意思
- Java正则表达式中各种字符以及转义字符的解释说明
- textView键盘遮挡问题
- 【翻译】如何对RadioButtonList, DropDownList, ListBox等ListItem控件使用RequiredFieldValidator
- 基于Flash/AIR的拼写检查引擎:Squiggly