CWE™-658 является подмножеством идентификаторов CWE, найденных в программах на C, которые не являются общими для всех языков. См. CWE-658.
В следующей таблице перечислены идентификаторы CWE (версия 3.3) из этого подмножества, которые адресованы Polyspace® Bug Finder™ с соответствующими ему дефектными шашками.
| ИДЕНТИФИКАТОР CWE | Описание идентификатора CWE | Polyspace Bug Finder Defect Checker |
|---|---|---|
| 119 | Неподходящее ограничение операций в границах буфера памяти | |
| 120 | Буферная копия без проверки размера входа ('Classic buffer overflow') |
|
| 121 | Переполнение буфера на основе стека | |
| 122 | Переполнение буфера на основе кучи | |
| 124 | Подземная запись буфера ('Buffer underflow') |
|
| 125 | Считайте вне границ |
|
| 126 | Перечитать буфер | |
| 127 | Перечитать буфер | |
| 128 | Ошибка переноса |
|
| 129 | Неправильная валидация индекса массива | |
| 130 | Неправильная обработка несогласованности параметра длины | |
| 131 | Неправильное вычисление buffer size |
|
| 134 | Строка неконтролируемого формата | |
| 135 | Неправильное вычисление длины многобайтовой строки |
|
| 170 | Неправильное завершение по умолчанию | |
| 188 | Опора на размещение данных/памяти |
|
| 191 | Целочисленное нижнее течение (Wrap или wraparound) |
|
| 192 | Целочисленная ошибка принуждения |
|
| 194 | Неожиданное расширение знака | |
| 195 | Ошибка преобразования подписи в неподписанную | |
| 196 | Ошибка преобразования без подписи в подпись | |
| 197 | Числовая ошибка усечения | |
| 242 | Использование неотъемлемо опасной функции | |
| 243 | Создание тюрьмы chroot без изменения рабочей директории | |
| 244 | Неправильная очистка памяти кучки перед релизом | |
| 362 | Параллельное выполнение с использованием общего ресурса с неподходящей синхронизацией ('Race Condition') | |
| 364 | Условие гонки обработчика сигналов |
|
| 366 | Условие гонки в потоке |
|
| 375 | Возврат изменяемого объекта ненадежному вызывающему абоненту | |
| 401 | Неподходящий релиз памяти перед удалением последней ссылки | |
| 415 | Double free | |
| 416 | Использование после бесплатного | |
| 457 | Использование неинициализированной переменной | |
| 466 | Возврат значения указателя за пределы ожидаемой области значений | |
| 467 | Использование sizeof () для типа указателя | |
| 468 | Неправильное масштабирование указателя | |
| 469 | Использование вычитания указателя для определения размера |
|
| 474 | Использование функции с несогласованными реализациями | |
| 476 | Удаление указателя NULL | |
| 478 | Отсутствует случай по умолчанию в операторе switch | |
| 479 | Использование обработчиком сигналов функции, не входящей в систему |
|
| 480 | Использование неправильного оператора | |
| 481 | Назначение вместо сравнения | |
| 482 | Сравнение вместо назначения | |
| 483 | Неправильное разделение блоков | |
| 484 | Опущенный оператор пропуск в switch | |
| 558 | Использование гетлогина () в многопоточном приложении | |
| 560 | Использование umask () с аргументом в стиле chmod | |
| 562 | Возврат адреса переменной стека |
|
| 587 | Назначение фиксированного адреса указателю | |
| 676 | Использование потенциально опасной функции | |
| 685 | Вызов функции с неправильным количеством аргументов |
|
| 690 | Снятое значение возврата к нулевому разыменованию указателя |
|
| 704 | Неправильное преобразование или приведение типов |
|
| 762 | Несовпадающие стандартные программы управления памятью | |
| 783 | Логическая ошибка приоритета оператора |
|
| 785 | Использование функции манипуляции путями без буфера максимального размера |
|
| 787 | Внеплановая запись | |
| 789 | Неконтролируемое выделение памяти |
|
| 805 | Доступ к буферу с неправильным значением длины | |
| 843 | Доступ ресурса с использованием несовместимого типа ('Type confusion') | |
| 910 | Использование дескриптора файла с истекшим сроком действия |
|
CWE-659 является подмножеством идентификаторов CWE, найденных в программах C++, которые не являются общими для всех языков. См. CWE-659.
В следующей таблице перечислены идентификаторы CWE (версия 3.3) из этого подмножества, которые адресованы Polyspace Bug Finder, с соответствующими дефектными шашками.
| ИДЕНТИФИКАТОР CWE | Описание идентификатора CWE | Polyspace Bug Finder Defect Checker |
|---|---|---|
| 119 | Неподходящее ограничение операций в границах буфера памяти | |
| 120 | Буферная копия без проверки размера входа ('Classic buffer overflow') |
|
| 121 | Переполнение буфера на основе стека | |
| 122 | Переполнение буфера на основе кучи | |
| 124 | Подземная запись буфера ('Buffer underflow') |
|
| 125 | Считайте вне границ |
|
| 126 | Перечитать буфер | |
| 127 | Перечитать буфер | |
| 128 | Ошибка переноса |
|
| 129 | Неправильная валидация индекса массива | |
| 130 | Неправильная обработка несогласованности параметра длины | |
| 131 | Неправильное вычисление buffer size |
|
| 134 | Строка неконтролируемого формата | |
| 135 | Неправильное вычисление длины многобайтовой строки |
|
| 170 | Неправильное завершение по умолчанию | |
| 188 | Опора на размещение данных/памяти |
|
| 191 | Целочисленное нижнее течение (Wrap или wraparound) |
|
| 192 | Целочисленная ошибка принуждения |
|
| 194 | Неожиданное расширение знака | |
| 195 | Ошибка преобразования подписи в неподписанную | |
| 196 | Ошибка преобразования без подписи в подпись | |
| 197 | Числовая ошибка усечения | |
| 242 | Использование неотъемлемо опасной функции | |
| 243 | Создание тюрьмы chroot без изменения рабочей директории | |
| 244 | Неправильная очистка памяти кучки перед релизом | |
| 362 | Параллельное выполнение с использованием общего ресурса с неподходящей синхронизацией ('Race Condition') | |
| 364 | Условие гонки обработчика сигналов |
|
| 366 | Условие гонки в потоке |
|
| 375 | Возврат изменяемого объекта ненадежному вызывающему абоненту | |
| 401 | Неподходящий релиз памяти перед удалением последней ссылки | |
| 415 | Double free | |
| 416 | Использование после бесплатного | |
| 457 | Использование неинициализированной переменной | |
| 466 | Возврат значения указателя за пределы ожидаемой области значений | |
| 467 | Использование sizeof () для типа указателя | |
| 468 | Неправильное масштабирование указателя | |
| 469 | Использование вычитания указателя для определения размера |
|
| 476 | Удаление указателя NULL | |
| 478 | Отсутствует случай по умолчанию в операторе switch | |
| 479 | Использование обработчиком сигналов функции, не входящей в систему |
|
| 480 | Использование неправильного оператора | |
| 481 | Назначение вместо сравнения | |
| 482 | Сравнение вместо назначения | |
| 483 | Неправильное разделение блоков | |
| 484 | Опущенный оператор пропуск в switch | |
| 558 | Использование гетлогина () в многопоточном приложении | |
| 562 | Возврат адреса переменной стека |
|
| 587 | Назначение фиксированного адреса указателю | |
| 676 | Использование потенциально опасной функции | |
| 690 | Снятое значение возврата к нулевому разыменованию указателя |
|
| 704 | Неправильное преобразование или приведение типов |
|
| 762 | Несовпадающие стандартные программы управления памятью | |
| 767 | Доступ к критической частной переменной через общедоступный метод | |
| 783 | Логическая ошибка приоритета оператора |
|
| 785 | Использование функции манипуляции путями без буфера максимального размера |
|
| 787 | Внеплановая запись | |
| 789 | Неконтролируемое выделение памяти |
|
| 805 | Доступ к буферу с неправильным значением длины | |
| 843 | Доступ ресурса с использованием несовместимого типа ('Type confusion') | |
| 910 | Использование дескриптора файла с истекшим сроком действия |
|