Операнды оставшейся операции (%) поступают из небезопасного источника
Этот дефект возникает, когда один или оба целочисленных операнда за оставшуюся операцию (%) происходит из небезопасных источников. Чтобы считать все входы за пределами периметра анализа тока небезопасными, используйте -consider-analysis-perimeter-as-trust-boundary.
Если второй остаток операнда равен нулю, ваша оставшаяся операция прекращает работать, что приводит к аварийному завершению работы программы.
Если второй оставшийся операнд -1Ваша оставшаяся операция может переполниться, если оставшаяся операция реализована на основе операции деления, которая может переполниться.
Если один из операндов отрицателен, результат операции неопределенен. Для C89 операция с модулем не стандартизирована, поэтому результат от отрицательных операндов задан как реализация.
Эти риски могут быть использованы злоумышленниками, чтобы получить доступ к вашей программе или цели в целом.
Перед выполнением операции с модулем проверьте значения операндов. Проверьте второй операнд на значения 0 и -1. Проверьте оба операнда на отрицательные значения.
| Группа: испорченные данные |
| Язык: C | C++ |
| По умолчанию: Off |
Синтаксис командной строки: TAINTED_INT_MOD |
| Влияние: Низкое |
| ИДЕНТИФИКАТОР CWE: 369, 682 |
-consider-analysis-perimeter-as-trust-boundary | Find defects (-checkers) | Integer division by zero | Tainted division operand