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.