V3023. Consider inspecting this expression. The expression is excessive or contains a misprint.

The analyzer has detected a suspicious code fragment with a redundant comparison. There may be a superfluous check, in which case the expression can be simplified, or an error, which should be fixed. Consider the following example:

if (firstVal == 3 && firstVal != 5)

This code is redundant as the condition will be true if 'firstVal == 3', so the second part of the expression just makes no sense.

There are two possible explanations here:

1) The second check is just unnecessary and the expression can be simplified. If so, the correct version of that code should look like this:

if (firstVal == 3)

2) There is a bug in the expression; the programmer wanted to use a different variable instead of 'firstVal'. Then the correct version of the code should look as follows:

if (firstVal == 3 && secondVal != 5)

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

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

Do you make errors in the code?

Check your code
with PVS-Studio

Static code analysis
for C, C++, and C#

goto PVS-Studio;
We use cookies for the analysis of events to improve our content and make user interaction more convenient. By continuing the view of our web-pages you accept the terms of using these files. You can find out more about cookie-files and privacy policy or close the notification, by clicking on the button. Learn More →
Do not show