This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org
Difference between revisions of "Poor Style: Explicit call to finalize()"
Weilin Zhong (talk | contribs) |
|||
Line 2: | Line 2: | ||
{{Template:Fortify}} | {{Template:Fortify}} | ||
− | + | [[Category:FIXME|This is the text from the old template. This needs to be rewritten using the new template.]] | |
+ | |||
+ | Last revision (mm/dd/yy): '''{{REVISIONMONTH}}/{{REVISIONDAY}}/{{REVISIONYEAR}}''' | ||
+ | |||
+ | [[ASDR_TOC_Vulnerabilities|Vulnerabilities Table of Contents]] | ||
+ | |||
+ | [[ASDR Table of Contents]] | ||
+ | __TOC__ | ||
− | |||
==Description== | ==Description== | ||
+ | |||
+ | The finalize() method should only be called by the JVM after the object has been garbage collected. | ||
While the Java Language Specification allows an object's finalize() method to be called from outside the finalizer, doing so is usually a bad idea. For example, calling finalize() explicitly means that finalize() will be called more than once: the first time will be the explicit call and the last time will be the call that is made after the object is garbage collected. | While the Java Language Specification allows an object's finalize() method to be called from outside the finalizer, doing so is usually a bad idea. For example, calling finalize() explicitly means that finalize() will be called more than once: the first time will be the explicit call and the last time will be the call that is made after the object is garbage collected. | ||
− | ==Examples == | + | |
+ | ==Risk Factors== | ||
+ | |||
+ | TBD | ||
+ | |||
+ | ==Examples== | ||
The following code fragment calls finalize() explicitly: | The following code fragment calls finalize() explicitly: | ||
Line 20: | Line 33: | ||
</pre> | </pre> | ||
− | ==Related | + | ==Related [[Attacks]]== |
+ | |||
+ | * [[Attack 1]] | ||
+ | * [[Attack 2]] | ||
+ | |||
+ | |||
+ | ==Related [[Vulnerabilities]]== | ||
+ | |||
+ | * [[Vulnerability 1]] | ||
+ | * [[Vulnerabiltiy 2]] | ||
+ | |||
+ | ==Related [[Controls]]== | ||
+ | |||
+ | * [[Control 1]] | ||
+ | * [[Control 2]] | ||
+ | |||
+ | |||
+ | ==Related [[Technical Impacts]]== | ||
+ | |||
+ | * [[Technical Impact 1]] | ||
+ | * [[Technical Impact 2]] | ||
+ | |||
+ | |||
+ | ==References== | ||
+ | |||
+ | TBD | ||
+ | |||
+ | [[Category:FIXME|add links | ||
+ | |||
+ | In addition, one should classify vulnerability based on the following subcategories: Ex:<nowiki>[[Category:Error Handling Vulnerability]]</nowiki> | ||
+ | |||
+ | Availability Vulnerability | ||
+ | |||
+ | Authorization Vulnerability | ||
+ | |||
+ | Authentication Vulnerability | ||
+ | |||
+ | Concurrency Vulnerability | ||
+ | |||
+ | Configuration Vulnerability | ||
+ | |||
+ | Cryptographic Vulnerability | ||
+ | |||
+ | Encoding Vulnerability | ||
+ | |||
+ | Error Handling Vulnerability | ||
+ | |||
+ | Input Validation Vulnerability | ||
+ | |||
+ | Logging and Auditing Vulnerability | ||
− | + | Session Management Vulnerability]] | |
− | + | __NOTOC__ | |
− | |||
− | + | [[Category:OWASP ASDR Project]] | |
[[Category:Use of Dangerous API]] | [[Category:Use of Dangerous API]] | ||
[[Category:API Abuse]] | [[Category:API Abuse]] |
Revision as of 12:45, 30 September 2008
This is a Vulnerability. To view all vulnerabilities, please see the Vulnerability Category page.
Last revision (mm/dd/yy): 09/30/2008
Vulnerabilities Table of Contents
Description
The finalize() method should only be called by the JVM after the object has been garbage collected.
While the Java Language Specification allows an object's finalize() method to be called from outside the finalizer, doing so is usually a bad idea. For example, calling finalize() explicitly means that finalize() will be called more than once: the first time will be the explicit call and the last time will be the call that is made after the object is garbage collected.
Risk Factors
TBD
Examples
The following code fragment calls finalize() explicitly:
// time to clean up widget.finalize();
Related Attacks
Related Vulnerabilities
Related Controls
Related Technical Impacts
References
TBD