...
Improper use of finalizers can result in resurrection of garbage-collection-ready objects and result in denial-of-service vulnerabilities.
Rule | Severity | Likelihood | Detectable | RepairableRemediation Cost | Priority | Level |
|---|---|---|---|---|---|---|
MET12-J | Medium | Probable | Yes | MediumNo | P8 | L2 |
Automated Detection
Tool | Version | Checker | Description | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Coverity | 7.5 | CodeSonar | 4.2 CALL_SUPER
FI_EMPTY FI_EXPLICIT_INVOCATION FI_FINALIZER_NULLS_FIELDS .FI_FINALIZER_ONLY_NULLS_FIELDS .FI_MISSING_SUPER_CALL .FI_NULLIFY_SUPER FI_ CODEUSELESS | Empty finalizer should be deleted | ||||||||||
| Coverity | 7.5 | CALL_SUPER | Implemented | |||||||||||
| Implemented | ||||||||||||||
| Klocwork |
| JD.UMC.RUNFIN | ||||||||||||
| Parasoft Jtest |
| CERT.MET12.MNDF | Do not define 'finalize()' method in bean classes Call 'super.finalize()' from 'finalize()' Do not use 'finalize()' methods to unregister listeners Call 'super.finalize()' in the "finally" block of 'finalize()' methods Do not call 'finalize()' explicitly Do not overload the 'finalize()' method Avoid empty 'finalize()' methods Avoid redundant 'finalize()' methods which only call the superclass' 'finalize()' method Give "finalize()" methods "protected" access | Parasoft Jtest | ||||||||||
| Include Page | Parasoft_V | Parasoft_V | EJB.MNDF, GC.FCF, GC.FM, GC.IFF, GC.NCF, PB.API.OF,UC.EF, UC.FCSF||||||||||||
| SonarQube |
| ObjectFinalizeOverridenCheck, S1113 S1111 S1174 S2151 S1114 | The Object.finalize() method should not be overriden The Object.finalize() method should not be called "Object.finalize()" should remain protected (versus public) when overriding "runFinalizersOnExit" should not be called "super.finalize()" should be called at the end of "Object.finalize()" implementations |
Related Vulnerabilities
AXIS2-4163 describes a vulnerability in the finalize() method in the Axis web services framework. The finalizer incorrectly calls super.finalize() before doing its own cleanup, leading to errors in GlassFish when the garbage collector runs.
...