33 lines
584 B
Plaintext
33 lines
584 B
Plaintext
== Why is this an issue?
|
|
|
|
Failing to null-test the argument to an ``++equals++`` method could result in a null pointer dereference, leading to runtime failures.
|
|
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,text]
|
|
----
|
|
public bool Equals (object obj) { // Noncompliant
|
|
return getValue() == obj.getValue() ;
|
|
}
|
|
----
|
|
|
|
|
|
=== Compliant solution
|
|
|
|
[source,text]
|
|
----
|
|
public bool Equals (object obj) {
|
|
if (obj == null) {
|
|
return false;
|
|
}
|
|
return getValue() == obj.getValue() ;
|
|
}
|
|
----
|
|
|
|
|
|
== Resources
|
|
|
|
* CWE - https://cwe.mitre.org/data/definitions/476[CWE-476 - NULL Pointer Dereference]
|
|
|