switch
переменная, не охваченная случаями, и случай по умолчанию отсутствует
Этот дефект возникает, когда switch
переменная может принимать значения, которые не покрываются case
оператор.
Примечание
Bug Finder поднимает дефект, только если переменная switch не является полной области значений.
Если на switch
переменная принимает значение, которое не покрывается case
оператор, ваша программа может иметь непреднамеренное поведение.
Оператор switch, который принимает решение о безопасности, особенно уязвим, когда все возможные значения явно не обрабатываются. Атакующий может использовать эту ситуацию, чтобы отклонить нормальный поток выполнения.
Рекомендуется использовать default
оператор как catch-all для значений, которые не охвачены case
оператор. Даже если switch
переменная принимает непреднамеренное значение, результирующее поведение может быть ожидаемым.
Группа: Безопасность |
Язык: C | C++ |
По умолчанию: Off |
Синтаксис командной строки: MISSING_SWITCH_CASE |
Влияние: Низкое |
ИДЕНТИФИКАТОР CWE: 478 |