一、什么是表达式永假/永真缺陷?
如果布尔表达式不改变程序逻辑,则完全没有必要,并且可以将其删除。如果执行逻辑与程序员的意图不匹配,这就是一个错误,布尔表达式应该被修复。
二、表达式永假/永真缺陷的构成条件有哪些?
该软件包含一个始终为假或为真的表达式。
三、表达式永假/永真缺陷的构成会造成哪些后果?
无效代码可能会在代码维护期间引起问题,并可能引入漏洞。
四、表达式永假/永真缺陷的防范和修补方法有哪些?
布尔表达式应该有改变其值的操作。
使用静态分析工具发现这种情况。
五、表达式永假/永真缺陷样例:
用Wukong软件检测 上述程序代码,则可以发现代码中存在着“表达式永假/永真” 导致的代码缺陷,如下图:
表达式永假/永真缺陷在CWE中被编号为CWE-570:Expression is Always False
本文作者:中科天齐软件安全
本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/173185.html