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