你现在位置:首页>技术论文>软件知识>正文
qzmTimemodule的致命错误图示(IMPORTANCE)
日期:2010-3-3 7:42:46 点击:
来源:本站整理
作者:
点击【】放大字体.
实。。会造成内存越界!!!(黑客常常就是利用这样的BUG来进行入侵的),跟踪发现如下函数中存在未分配空间即赋值的致命BUG!!!!!!
plcjs.技.术_网

image
P.L.C.技.术.网——可编程控制器技术门户

由于struct qzm_tm q_tm;只是声明,而不是定义(结构的定义和自动变量是有区别的,自动变量声明的同时会由运行时自动赋值,之所以运行时对结构的声明不即时进行内存分配是出于声明的结构有可能在之后并不使用上并且结构所占用的内存空间有可能很大,基于C语言设计的本意(程序员确保自已做的是正确的)和出于效率的考虑,声明结构不等于定义了该结构),所以在qzm_gmtime FUN中引用一个声明将会导致系统的随机性崩溃!!!!在Watch中观察该变量会发现该观看的是内存中随机的地址中的内容,如下图所示:
WWW_P※LCJS_CO※M-PLC-技-.术_网

image

解决的办法是使用前定义(也叫声明和赋值同时进行)

WWW.PLCJS.COM——可编程控制器技术门户

struct qzm_tm     q_tm = {0}; //这时在WATCH 窗口中看到的q_tm的内容为全0,说明已正确分配内存空间给该变量。
P.L.C.技.术.网——可编程控制器技术门户

评论内容
载入中...
相关文章
商城相关
相关下载
博客相关
论坛相关
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
深圳秦合源科技有限公司 
   深圳市秦合源科技有限公司是国内领先的规模较大品种齐全的称重传感器(Loadce......
广州汇巨自动化设备有限公司 
   广州汇巨自动化设备有限公司是一家专业工业自动化产品和自动化设备开发、维修改造、电......
深圳联脉电子有限公司 
   公司自1998年创立以来,一直致力于工业控制产品的研发、制造、销售,目前有机房监......
北京力天昭阳科技发展有限公司 
   北京力天昭阳科技发展有限公司(PekingPowerSkyScience&......
东莞市友诚自动化 
   本公司专业代理台湾永宏、台达PLC、HITECH人机、特价供应文本显示器MD20......
深圳市爱威轮实业有限公司 
   爱威轮实业对广大用户的技术支持与服务,贯穿于与客户接触的每一个环节中,渗透在每一......
·栏目热门排行
·站内热门排行
载入中。。
报告错误·关于我们· 用户帮助· 联系我们 · 友情链接· 本站服务 · 合作伙伴 · 版权声明· 招聘信息 · 投搞指南

迅闻自动化工程部声明如下:
旗下网站:PLC技术网(www.plcjs.com)-可编程控制器技术门户
网站备案号:粤ICP备17165530号
网站法律顾问:ITLAW-庄毅雄律师
法律保护:PLC技术网,迅闻电子,plcjs.com,plcjs.net,plcjs.cn等字样

Copyright 2010-2015. All rights reserved. 

51La