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