Difference between revisions of "Code Correctness: Call to Thread.run()"
From OWASP
Weilin Zhong (talk | contribs) |
Weilin Zhong (talk | contribs) |
||
| Line 41: | Line 41: | ||
[[Category:Synchronization and Timing Vulnerability]] | [[Category:Synchronization and Timing Vulnerability]] | ||
| + | |||
| + | [[Category:Use of Dangerous API]] | ||
[[Category:API Abuse]] | [[Category:API Abuse]] | ||
Revision as of 18:28, 18 July 2006
This is a Vulnerability. To view all vulnerabilities, please see the Vulnerability Category page.
Abstract
The program calls a thread's run() method instead of calling start().
Description
In most cases a direct call to a Thread object's run() method is a bug. The programmer intended to begin a new thread of control, but accidentally called run() instead of start(), so the run() method will execute in the caller's thread of control.
Examples
The following excerpt from a Java program mistakenly calls run() instead of start().
Thread thr = new Thread() {
public void run() {
...
}
};
thr.run();