CWARN.EMPTY.LABEL
Empty label statement
The CWARN.EMPTY.LABEL checker finds switch statements in which a label is immediately followed by a closing parenthesis (}).
Vulnerability and risk
This type of situation is normally a syntax mistake or typo that could cause unintended program behavior.
Vulnerable code example
Copy
void foo() {
switch(c) {
case 'a': return;
case 'b':
}
}
Klocwork flags line 4, which contains a switch label with no following expression.
Fixed code example
Copy
void foo() {
switch(c) {
case 'a': return;
case 'b': break;
}
}
The fixed example shows an action for case b.