Umbra Wiki weakness weakness/CWE-595
Back to wiki

CWE-595 — Comparison of Object References Instead of Object Contents

provenance: imported · CWE: CWE-595

CWE-595: Comparison of Object References Instead of Object Contents

MITRE CWE weakness

Kind Weakness
Abstraction Variant
Status Incomplete
Likelihood of exploit —

Description

The product compares object references instead of the contents of the objects themselves, preventing it from detecting equivalent objects.

For example, in Java, comparing objects using == usually produces deceptive results, since the == operator compares object references rather than values; often, this means that using == for strings is actually comparing the strings' references, not their values.

Common consequences

  • Other: Varies by Context

Mitigations

Implementation — In Java, use the equals() method to compare objects instead of the == operator. If using ==, it is important for performance reasons that your objects are created by a static factory, not by a constructor.

References

  • CWE page: https://cwe.mitre.org/data/definitions/595.html
  • CWE list: https://cwe.mitre.org/data/index.html

See all 1,245 pages under Weakness classes (CWE) →

Related pages