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 "Catch NullPointerException"
From OWASP
Weilin Zhong (talk | contribs) |
|||
| (8 intermediate revisions by 4 users not shown) | |||
| Line 1: | Line 1: | ||
| + | {{taggedDocument | ||
| + | | type=pls review | ||
| + | }} | ||
| + | |||
| + | |||
{{Template:Vulnerability}} | {{Template:Vulnerability}} | ||
| + | {{Template:Fortify}} | ||
| + | |||
| + | Last revision (mm/dd/yy): '''{{REVISIONMONTH}}/{{REVISIONDAY}}/{{REVISIONYEAR}}''' | ||
| + | |||
| + | [[ASDR_TOC_Vulnerabilities|Vulnerabilities Table of Contents]] | ||
==Description== | ==Description== | ||
| + | |||
| + | It is generally a bad practice to catch NullPointerException. | ||
| + | |||
| + | Programmers typically catch NullPointerException under three circumstances: | ||
| + | |||
| + | # The program contains a null pointer dereference. Catching the resulting exception was easier than fixing the underlying problem. | ||
| + | # The program explicitly throws a NullPointerException to signal an error condition. | ||
| + | # The code is part of a test harness that supplies unexpected input to the classes under test. | ||
| + | Of these three circumstances, only the last is acceptable. | ||
| + | |||
| + | ==Risk Factors== | ||
| + | TBD | ||
==Examples == | ==Examples == | ||
| − | ==Related | + | The following code mistakenly catches a NullPointerException. |
| + | |||
| + | <pre> | ||
| + | try { | ||
| + | mysteryMethod(); | ||
| + | } | ||
| + | catch (NullPointerException npe) { | ||
| + | } | ||
| + | </pre> | ||
| + | |||
| + | ==Related [[Attacks]]== | ||
| + | |||
| + | * [[Attack 1]] | ||
| + | * [[Attack 2]] | ||
| + | |||
| + | |||
| + | ==Related [[Vulnerabilities]]== | ||
| + | |||
| + | * [[Vulnerability 1]] | ||
| + | * [[Vulnerabiltiy 2]] | ||
| + | |||
| + | |||
| + | ==Related [[Controls]]== | ||
| + | |||
| + | * [[:Category:Error Handling]] | ||
| + | |||
| + | |||
| + | |||
| + | ==Related [[Technical Impacts]]== | ||
| + | |||
| + | * [[Technical Impact 1]] | ||
| + | * [[Technical Impact 2]] | ||
| + | |||
| − | == | + | ==References== |
| + | Note: A reference to related [http://cwe.mitre.org/ CWE] or [http://capec.mitre.org/ CAPEC] article should be added when exists. Eg: | ||
| − | + | * [http://cwe.mitre.org/data/definitions/79.html CWE 79]. | |
| + | * http://www.link1.com | ||
| + | * [http://www.link2.com Title for the link2] | ||
| − | |||
| − | |||
| − | + | __NOTOC__ | |
| − | |||
| + | [[Category:OWASP ASDR Project]] | ||
[[Category:Error Handling Vulnerability]] | [[Category:Error Handling Vulnerability]] | ||
| + | [[Category:Vulnerability]] | ||
Latest revision as of 20:35, 31 August 2015
This page has been tagged and needs review. Please help OWASP and document the reason for this, see FixME.
This is a Vulnerability. To view all vulnerabilities, please see the Vulnerability Category page.
Last revision (mm/dd/yy): 08/31/2015
Vulnerabilities Table of Contents
Description
It is generally a bad practice to catch NullPointerException.
Programmers typically catch NullPointerException under three circumstances:
- The program contains a null pointer dereference. Catching the resulting exception was easier than fixing the underlying problem.
- The program explicitly throws a NullPointerException to signal an error condition.
- The code is part of a test harness that supplies unexpected input to the classes under test.
Of these three circumstances, only the last is acceptable.
Risk Factors
TBD
Examples
The following code mistakenly catches a NullPointerException.
try {
mysteryMethod();
}
catch (NullPointerException npe) {
}
Related Attacks
Related Vulnerabilities
Related Controls
Related Technical Impacts
References
Note: A reference to related CWE or CAPEC article should be added when exists. Eg: