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