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