# 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.

This diagnostic is classified as:

CWE-393

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