codeql-coding-standards
codeql-coding-standards copied to clipboard
`A4-7-1`: integer data loss false positive erasing from container
Affected rules
-
A4-7-1
Description
Decrement cannot lead to wrap-around since the container is checked for emptiness.
Example
class container
{
bool empty()
{
return num_items_ == 0;
}
void erase()
{
if (empty())
return;
num_items_--;
}
std::size_t num_items_ = 0;
};
This could be addressed by adopting the CERT C implementation for this rule (as per https://github.com/github/codeql-coding-standards/issues/491), then extending support for container implementations.