﻿ V590. Consider inspecting this expression. The expression is excessive or contains a misprint.  # V590. Consider inspecting this expression. The expression is excessive or contains a misprint.

The analyzer detected a potential error: there is an excessive comparison in code. Let me explain this by a simple example:

``if (Aa == 10 && Aa != 3)``

The condition will hold if 'Aa == 10'. The second part of the expression is meaningless. On studying the code, you may come to one of the two conclusions:

1) The expression can be simplified. This is the fixed code:

``if (Aa == 10)``

2) The expression has an error. This is the fixed code:

``if (Aa == 10 && Aa != 3)``

Let's study the example from practice. We have no error here, but the expression is excessive, which might make the code less readable:

``````while (*pBuff == ' ' && *pBuff != '\0')
pBuff++;``````

The " *pBuff != '\0' " check is meaningless. This is the shortened code:

``````while (*pBuff == ' ')
pBuff++;``````
 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 V590 diagnostic.

409
14 072

### Do you make errors in the code? 