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