rspec/rules/S2220/rule.adoc

33 lines
584 B
Plaintext
Raw Normal View History

== 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
2022-02-04 17:28:24 +01:00
[source,text]
----
public bool Equals (object obj) { // Noncompliant
return getValue() == obj.getValue() ;
}
----
=== Compliant solution
2022-02-04 17:28:24 +01:00
[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]