关注公众号“中科天齐软件安全中心”(id:woocoom),一起涨知识!
该栏目为中科天齐全新规划的悟空云课堂,每周五下午18:00准时上线,旨在科普软件安全相关知识,助力企业有效防范软件安全漏洞,提升网络安全防护能力。
【悟空云课堂】第二十八期:未使用的变量(CWE-563:Assignment to Variable without Use)
什么是未使用的变量缺陷?
变量已赋值但从未使用过,这使其成为无意义的变量。
未使用的变量缺陷构成条件有哪些?
当一个局部变量被赋了一个值,而该值没有被任何后续指令使用时,就会出现未使用的变量。
未使用的变量缺陷会造成哪些后果?
计算或检索一个值,然后重写或丢弃它,可能表明代码中存在严重错误。即使这不是一个严重的错误,也是一种资源浪费。
未使用的变量缺陷的防范和修补方法有哪些?
从代码中删除未使用的变量。
未使用的变量缺陷样例:
…
public void execute(JobExecutionContext context) throws JobExecutionException {
//JobDataMap map= context.getJobDetail().getJobDataMap();
String jobName=context.getJobDetail().getKey().getName();
String trigName="directExec";
Trigger trig=context.getTrigger();
if(trig!=null)
trigName=trig.getKey().getName();
Date strStartTime=new Date();
long startTime=System.currentTimeMillis();
}
…
用Wukong(悟空)软件代码安全检测修复系统检测上述程序代码,则可以发现代码中存在着“未使用的变量” 导致的代码缺陷,如下图:
未使用的变量缺陷在CWE中被编号为CWE-563:Assignment to Variable without Use
更多的信息请参考CWE官网:http://cwe.mitre.org/data/definitions/563.html
了解更多安全资讯 请关注公众号 中科天齐软件安全中心