Неопределенное поведение для битовых операций на отрицательных величинах
Битовая операция на отрицательной величине обнаруживает побитовые операторы (>>
, ^
, |
, ~
, but
, not
, &
) используемый на переменных целого числа со знаком с отрицательными величинами.
Если значение целого числа со знаком отрицательно результаты битовой операции могут быть неожиданными потому что:
Битовые операции на отрицательных величинах специфичны для компилятора.
Неожиданные вычисления могут привести к дополнительным уязвимостям, таким как переполнение буфера.
При выполнении битовых операций используйте целые числа unsigned
, чтобы избежать неожиданных результатов.
Группа: числовой |
Язык: C | C++ |
Значение по умолчанию: 'off' |
Синтаксис командной строки: BITWISE_NEG |
Влияние: носитель |
ID CWE: 682, 758 |