VariantDraft
CWE-580clone() Method Without super.clone()
Category: other
Description
The product contains a clone() method that does not call super.clone() to obtain the new object.
All implementations of clone() should obtain the new object by calling super.clone(). If a class does not follow this convention, a subclass's clone() method will return an object of the wrong type.
Common consequences· 1
- Integrity / Other — Unexpected State, Quality Degradation
Potential mitigations· 2
- [Implementation]Call super.clone() within your clone() method, when obtaining a new object.
- [Implementation]In some cases, you can eliminate the clone method altogether and use copy constructors.
References
Related by meaning· 6
Nearest entities by semantic similarity across the cs-graph corpus.