Examples of errors detected by the V1010 diagnostic
V1010. Unchecked tainted data is used in expression.
ReactOS
V1010 Unchecked tainted data is used in index: 'strlen(tmp)'. ftp.c 216
int login(const char *host)
{
char tmp[80];
....
while (user == NULL) {
const char *myname = "none"; // This needs to become the username env
if (myname)
printf("Name (%s:%s): ", host, myname);
else
printf("Name (%s): ", host);
(void) fflush(stdout);
(void) fgets(tmp, sizeof(tmp) - 1, stdin);
tmp[strlen(tmp) - 1] = '\0'; // <=
if (*tmp == '\0')
user = myname;
else
user = tmp;
}
....
}