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 | Использование дескриптора файла с истекшим сроком действия |
|