JD.VNU.NULL

JD.VNU.NULL shows that the null value assigned to a variable was never read after assignment.

Vulnerability and risk

In most cases, it is just a redundant initialization code, but sometimes, it can signify a major logical error.

Mitigation and prevention

Optimize the code and remove the unused assignments.

Example 1

16     Reader prepareReader(Reader r) {
17         BufferedReader bufferedReader = null;
18 
19         try {
20             bufferedReader = new BufferedReader(r);
21             register(bufferedReader);
22         } catch (Exception e) {
23             e.printStackTrace();
24         }
25 
26         return bufferedReader;
27     }
28 
29     private void register(BufferedReader bufferedReader) {
30         // ...
31     }

JD.VNU.NULL is reported for line 17: BufferedReader constructor does not throw exceptions, so the 'bufferedReader' variable is always reassigned on line 20.

Related checkers