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

     Reader prepareReader(Reader r) {
         BufferedReader bufferedReader = null;
         try {
             bufferedReader = new BufferedReader(r);
         } catch (Exception e) {
         return bufferedReader;
     private void register(BufferedReader bufferedReader) {
         // ...

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