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