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


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.

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


Bugs Found

Checked Projects
354
Collected Errors
13 290