Операнд правой руки целочисленного деления или остальных операторов не должен равняться нулю
Операнд правой руки целочисленного деления или остальных операторов не должен быть равен нулю.
Если числитель является минимально возможным значением, и знаменатель -1
Операция деления переполнена, поскольку результат не может быть представлен текущим размером переменной.
Если знаменатель равен нулю, операция деления не удаётся, возможно, привести к аварийному завершению работы программы.
Эти риски могут использоваться для выполнения произвольного кода. Этот код обычно находится вне возможностей неявной политики безопасности программы.
Если второй остаток операнда равен нулю, ваша оставшаяся операция прекращает работать, что приводит к аварийному завершению работы программы.
Если второй оставшийся операнд -1
Ваша оставшаяся операция может переполниться, если оставшаяся операция реализована на основе операции деления, которая может переполниться.
Если один из операндов отрицателен, результат операции неопределенен. Для C89 операция с модулем не стандартизирована, поэтому результат от отрицательных операндов задан как реализация.
Эти риски могут быть использованы злоумышленниками, чтобы получить доступ к вашей программе или цели в целом.
Шашка поднимает дефект, когда:
Знаменатель деления или операции с модулем может быть нулевым целым числом.
Существуют операции деления, где один или оба целочисленных операнда из небезопасного источника.
Существуют операции с модулем с одним или несколькими испорченными операндами.
Если вы ожидаете нарушения правил, но не видите его, обратитесь к разделу «Стандартные нарушения кодирования не отображаются».
Группа: Выражения |
Категория: Необходимый, Автоматизированный |