Операнды оставшейся операции (%
) поступают из небезопасного источника
Этот дефект возникает, когда один или оба целочисленных операнда за оставшуюся операцию (%
) происходит из небезопасных источников. Чтобы считать все входы за пределами периметра анализа тока небезопасными, используйте -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