界: Code Quality
代码质量不佳会导致不可预测的行为。对于用户来说,通常表现为可用性差。对于攻击者来说,提供了以意外方式对系统施加压力的机会。
Code Correctness: Misleading Method Signature
Abstract
这看上去好像能替代通用的 .NET 方法,但实际上达不到预想的效果。
Explanation
该方法的名称与通用的 .NET 方法相似,但它要么存在拼写错误,要么是参数列表导致其无法替代预期的方法。
例 1:以下方法的目的是重写
但是,由于
例 1:以下方法的目的是重写
System.Object.Equals()
:
public boolean Equals(string obj) {
...
}
但是,由于
System.Object.Equals()
采用 object
类型的参数,因此永远不会调用该方法。References
[1] Standards Mapping - Common Weakness Enumeration CWE ID 398
desc.structural.dotnet.code_correctness_misleading_method_signature
Abstract
这看上去好像能替代通用的 Java 方法,但实际上并不能达到预想的效果。
Explanation
尽管该方法的名称与通用的 Java 方法相似,但它要么存在拼写错误,要么是参数列表导致其无法替代预期的方法。
例 1:以下方法的目的是重写
但是,由于
例 1:以下方法的目的是重写
Object.equals()
:
public boolean equals(Object obj1, Object obj2) {
...
}
但是,由于
Object.equals()
只需要一个参数,因此永远不会调用Example 1
中的方法。References
[1] Standards Mapping - Common Weakness Enumeration CWE ID 398
desc.structural.java.code_correctness_misleading_method_signature