Неопределенное поведение для побитовых операций с отрицательными значениями
Этот дефект возникает, когда побитовые операторы (>>, ^, |, ~, but, not, &) используются для целочисленных переменных со знаком с отрицательными значениями.
Если значение целого числа со знаком отрицательное, побитовые результаты операции могут оказаться неожиданными, потому что:
Побитовые операции с отрицательными значениями могут привести к специфическим для компилятора результатам.
Неожиданные вычисления могут привести к дополнительным уязвимостям, таким как переполнение буфера.
При выполнении побитовых операций используйте unsigned целые числа, чтобы избежать неожиданных результатов.
| Группа: Численный |
| Язык: C | C++ |
| По умолчанию: Off |
Синтаксис командной строки: BITWISE_NEG |
| Влияние: Средний |
| ИДЕНТИФИКАТОР CWE: 682, 758 |