V3009. It's odd that this method always returns one and the same value of NN.


The analyzer has detected a strange method: it does not have any state and does not change any global variables. At the same time, it has several return points returning the same numerical, string, enum, constant or read only field value.

This code is very odd and might signal a possible error. The method is most likely intended to return different values.

Consider the following simple example:

int Foo(int a)
{
  if (a == 33)
    return 1;
  return 1;
}

This code contains an error. Let's change one of the returned values to fix it. You can usually identify the necessary returned values only when you know the operation logic of the whole application in general

This is the fixed code:

int Foo(int a)
{
  if (a == 33)
    return 1;
  return 2;
}

If the code is correct, you may get rid of the false positive using the "//-V3009" comment.

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

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


Bugs Found

Checked Projects
355
Collected Errors
13 303