V6060. The reference was used before it was verified against null.

The analyzer has detected a potential error that could result in using a null object.

What the analyzer detects is the situation where the object is used first and only then checked for the value 'null'. This means one of the two things:

1) If the object equals 'null', an error will occur.

2) The program executes correctly all the time since the object never equals 'null'. Therefore, the check is redundant.

Consider the following code snippet triggering the warning:

boolean isSomething(String str)
{
  String prepareStr = prepare(str);
  if (prepareStr.contains("*?*"))
  {
    ...
  }
  ...
  return prepareStr == null ? false : prepareStr.contains("?*?");
}

So, is it a potential bug or redundant comparison in the code above? The 'prepareStr' variable participates in some calculations first and is checked for 'null' at the end. Both situations might take place here. And if the 'prepare' method can return 'null', you must modify the code:

boolean isSomething(String str)
{
  String prepareStr = prepare(str);
  if (prepareStr == null) {
    return false;
  }

  if (prepareStr.contains("*?*"))
  {
    //...
  }
  //...
  return prepareStr.contains("?*?");
}

If 'prepare' does not return 'null', you can simply remove the check to make it easier for your fellow programmers.

According to Common Weakness Enumeration, potential errors found by using this diagnostic are classified as CWE-476.

You can look at examples of errors detected by the V6060 diagnostic.


Bugs Found

Checked Projects
410
Collected Errors
14 111
This website uses cookies and other technology to provide you a more personalized experience. By continuing the view of our web-pages you accept the terms of using these files. If you don't want your personal data to be processed, please, leave this site. Learn More →
Accept