CWE-369:除以零
查看自定义信息:
该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
与观点“研究概念”相关(CWE-1000)
与“软件开发”视图相关(CWE-699)
与“简化已发表漏洞的简化映射”(CWE-1003)相关的视图相关(CWE-1003)
与“ CISQ质量措施(2020)”相关(CWE-1305)
与“ CISQ数据保护措施”(CWE-1340)有关
该表指定与弱点相关的不同个人后果。该范围确定了违反的应用程序安全区域,而影响描述了如果对手成功利用这一弱点,就会产生负面的技术影响。其可能性提供了有关预期相对于列表中其他后果的特定后果的可能性的信息。例如,可能会利用弱点来实现一定的影响,但很可能会利用它来实现不同的影响。
示例1 以下Java示例包含一个函数来计算平均值,但不能验证用作分母的输入值不是零。这将创建一个例外,以尝试除以零。如果Java异常处理无法处理此错误,可能会发生意外结果。
(不良代码)
示例语言:爪哇
public int int computeaverageresponsetime(int totaltime,int numrequests){
返回总时间 / numRequests; }通过验证用作分母的输入值以下代码将确保除零错误的划分不会导致意外结果。以下Java代码示例将验证输入值,输出错误消息并引发异常。
(好代码)
public int int computeaverageresponsetime(int totaltime,int numrequests)抛出arithmeticexception {
if(numrequests == 0){ }
system.out.println(“零尝试!”); }投掷算术感受; 返回总时间 / numRequests; 示例2 以下C/C ++示例包含一个函数,该函数将两个数字值划分,而无需验证用作分母的输入值不是零。这将造成尝试将零除以零的错误,如果此错误不会被语言的错误处理能力捕获,则可能会发生意外的结果。
(不良代码)
示例语言:C
双分裂(双X,双y){
返回x/y; }通过验证用作分母的输入值以下代码将确保除零错误的划分不会导致意外结果。如果调用该方法并传递零,则第二个参数将被抛出DivideByZero错误,应由调用块捕获,并带有指示错误的输出消息。
(好代码)
const int divideByZero = 10;
双分裂(双X,双y){
如果(0 == y){ }
投掷DivideByZero; }返回x/y; ... 尝试{
分隔(10,0); }捕获(int i){
如果(i == dividebyzero){ }
cerr <<“除以零错误”; }
示例3 以下C#示例包含一个函数,该函数将两个数字值划分,而无需验证用作分母的输入值不是零。这将造成尝试将零除以零的错误,如果此错误不会被语言的错误处理能力捕获,则可能会发生意外的结果。
(不良代码)
示例语言:C#
int division(int x,int y){
返回(x / y); }如果用作分母的输入值为零,则可以修改该方法以升高,捕获和处理DivideByZeroException。
(好代码)
int safeDivision(int x,int y){
尝试{ }
返回(x / y); }catch(system.dividebyzeroexception dbz){
system.console.writeline(“零尝试!”); }返回0;
此成员关系表显示了其他CWE类别和视图,将此弱点称为成员。该信息通常可用于理解弱点适合外部信息源的何处。
提供更多信息 - 请选择其他过滤器。
|
使用共同弱点枚举(CWE)和本网站的相关参考使用条款。CWE由美国国土安全部(DHS)网络安全和基础设施安全局(CISA),由国土安全系统工程和开发研究所(HSSEDI)由manbetx客户端首页(MITER)。版权所有©2006–2023,Miter Comanbetx客户端首页rporation。CWE,CWSS,CWRAF和CWE徽标是Miter Corporation的商标。manbetx客户端首页 |