# V657. Function always returns the same value of NN. Consider inspecting the function.

The analyzer has detected a strange function: it doesn't have any state and doesn't change any global variables. At the same time, it has several return points returning one and the same numerical value.

This code is very odd and might signal a possible error. The function 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 "//-V657" comment.

This diagnostic is classified as:

CWE-393