V731. The variable of char type is compared with pointer to string.

The analyzer has detected a comparison of a char variable with a pointer to a string. The reason why the variable is used that way is in using double quotes (") instead of single quotes (') by mistake.

Here's an example for this error pattern:

char ch = 'd';
if(ch == "\n")

The inattentive author of this code wanted to compare the 'ch' variable with a new string's character but used quotes of a wrong type. This resulted in the value of the 'ch' variable being compared to the "\n" string's address. Code like that can compile and execute well in C but usually makes no sense. The correct version of the code sample above should use single quotes instead of double ones:

char ch = 'd';
if(ch == '\n')

The same kind of mistake can be also made when initializing or assigning a value to a variable, causing this variable to store the least significant byte of the address of the string being assigned.

char ch = "d";

The correct version of the code should use single quotes.

char ch = 'd';

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

Bugs Found

Checked Projects
Collected Errors
13 926
This website uses cookies and other technology to provide you a more personalized experience. By continuing the view of our web-pages you accept the terms of using these files. If you don't want your personal data to be processed, please, leave this site. Learn More →