Отображение между CWE-658 или 659 и результатами Polyspace

CWE-658: слабые места в программном обеспечении, написанном в C

CWE™-658 является подмножеством идентификаторов CWE, найденных в программах C, которые не характерны для всех языков. См. CWE-658.

В следующей таблице перечислены идентификаторы CWE (версия 3.3) от этого подмножества, которые обращены Polyspace® Bug Finder™ с его соответствующими дефектными средствами проверки.

ID CWEОписание ID CWEСредство проверки дефекта Polyspace Bug Finder
119Неподходящее ограничение операций в границах буфера памяти

Array access out of bounds

Pointer access out of bounds

120Буферная копия, не проверяя размер входа ('Классическое переполнение буфера')

Invalid use of standard library memory routine

Invalid use of standard library string routine

Tainted NULL or non-null-terminated string

121Стековое переполнение буфера

Array access with tainted index

Destination buffer overflow in string manipulation

122Основанное на куче переполнение буфера

Pointer dereference with tainted offset

124Буфер подписывает ('Недостаточное наполнение буфера')

Array access with tainted index

Buffer overflow from incorrect string format specifier

Destination buffer underflow in string manipulation

Pointer dereference with tainted offset

125За пределы читайте

Array access with tainted index

Buffer overflow from incorrect string format specifier

Destination buffer overflow in string manipulation

126Буфер зачитывался

Buffer overflow from incorrect string format specifier

127Буфер под чтением

Buffer overflow from incorrect string format specifier

128Всеобъемлющая ошибка

Integer constant overflow

Integer conversion overflow

Integer overflow

Memory allocation with tainted size

Tainted sign change conversion

Tainted size of variable length array

Unsigned integer constant overflow

Unsigned integer conversion overflow

Unsigned integer overflow

129Неподходящая валидация индекса массива

Array access with tainted index

Pointer dereference with tainted offset

130Неправильное обращение несоответствия параметра длины

Mismatch between data length and size

131Неправильное вычисление buffer size

Array access out of bounds

Memory allocation with tainted size

Pointer access out of bounds

Tainted sign change conversion

Tainted size of variable length array

Unsigned integer conversion overflow

Unsigned integer overflow

134Неконтролируемая строка формата

Tainted string format

135Неправильный расчет длины байтовой строки

Destination buffer overflow in string manipulation

Misuse of narrow or wide character string

Unreliable cast of pointer

170Неподходящее пустое завершение

Missing null in string array

Misuse of readlink()

Tainted NULL or non-null-terminated string

188Уверенность в размещении данных/памяти

Invalid assumptions about memory organization

Memory comparison of padding data

Memory comparison of strings

Missing byte reordering when transferring data

Pointer access out of bounds

191Целочисленная потеря значимости (Переносятся или повторяются),

Integer constant overflow

Integer conversion overflow

Integer overflow

Unsigned integer constant overflow

Unsigned integer conversion overflow

Unsigned integer overflow

192Целочисленная ошибка приведения

Integer conversion overflow

Integer overflow

Sign change integer conversion overflow

Tainted sign change conversion

Unsigned integer conversion overflow

Unsigned integer overflow

194Неожиданное расширение знака

Sign change integer conversion overflow

Tainted sign change conversion

195Подписанный к ошибке преобразования без знака

Sign change integer conversion overflow

Tainted sign change conversion

196Без знака к ошибке преобразования со знаком

Sign change integer conversion overflow

197Числовая ошибка усечения

Float conversion overflow

Integer conversion overflow

Unsigned integer conversion overflow

242Использование по сути опасной функции

Use of dangerous standard function

243Создание chroot тюрьмы, не изменяя рабочую директорию

File manipulation after chroot without chdir

244Неподходящая очистка памяти кучи перед релизом

Sensitive heap memory not cleared before release

362Параллельное выполнение с помощью совместно используемого ресурса с неподходящей синхронизацией ('Состояние состязания')

File descriptor exposure to child process

Opening previously opened resource

364Состояние состязания обработчика сигнала

Function called from signal handler not asynchronous-safe (strict)

Function called from signal handler not asynchronous-safe

Shared data access within signal handler

366Состояние состязания в потоке

Data race including atomic operations

Data race through standard library function call

Data race

375Возврат изменяемого объекта недоверяемой вызывающей стороне

Return of non const handle to encapsulated data member

401Неподходящий релиз памяти прежде, чем удалить последнюю ссылку

Memory leak

Thread-specific memory leak

415Двойной свободный

Deallocation of previously deallocated pointer

Missing reset of a freed pointer

416Используйте после свободный

Missing reset of a freed pointer

Use of previously freed pointer

457Использование неинициализированной переменной

Member not initialized in constructor

Non-initialized pointer

Non-initialized variable

466Возвратитесь из значения указателя за пределами ожидаемой области значений

Array access out of bounds

Pointer access out of bounds

Unsafe conversion between pointer and integer

467Использование sizeof () на типе указателя

Possible misuse of sizeof

Wrong type used in sizeof

468Неправильное масштабирование указателя

Incorrect pointer scaling

469Использование вычитания указателя, чтобы определить размер

Subtraction or comparison between pointers to different arrays

474Использование функции с противоречивыми реализациями

Signal call from within signal handler

Use of obsolete standard function

476Нулевой указатель разыменовывает

Null pointer

Tainted NULL or non-null-terminated string

478Недостающий случай по умолчанию в операторе switch

Missing case for switch condition

479Использование обработчика сигнала неповторно используемой функции

Function called from signal handler not asynchronous-safe (strict)

Function called from signal handler not asynchronous-safe

480Использование неправильного оператора

Invalid use of = (assignment) operator

Invalid use of == (equality) operator

481Присвоение вместо сравнения

Invalid use of = (assignment) operator

482Сравнение вместо присвоения

Invalid use of == (equality) operator

483Неправильное определение границ блока

Incorrectly indented statement

Semicolon on same line as if, for or while statement

484Не использованный оператор завершения в переключателе

Missing break of switch case

558Использование getlogin () в многопоточном приложении

Unsafe standard function

560Использование umask () с аргументом chmod-стиля

Umask used with chmod-style arguments

562Возвратитесь из адреса переменной стека

Pointer or reference to stack variable leaving scope

Use of automatic variable as putenv-family function argument

587Присвоение фиксированного адреса к указателю

Function pointer assigned with absolute address

Unsafe conversion between pointer and integer

676Использование потенциально опасной функции

Unsafe conversion from string to numerical value

Use of dangerous standard function

685Вызов функции с неправильным количеством аргументов

Declaration mismatch

Format string specifiers and arguments mismatch

Standard function call with incorrect arguments

Too many va_arg calls for current argument list

690Возвращаемое значение непроверенное к нулевому указателю разыменовывает

Invalid use of standard library memory routine

Invalid use of standard library routine

Invalid use of standard library string routine

Null pointer

Returned value of a sensitive function not checked

Standard function call with incorrect arguments

Tainted NULL or non-null-terminated string

Unprotected dynamic memory allocation

Use of tainted pointer

704Неправильное преобразование типов или бросок

Character value absorbed into EOF

Misuse of sign-extended character value

Precision loss in integer to float conversion

Qualifier removed in conversion

Unreliable cast of pointer

Wrong allocated object size for cast

762Несовпадающие стандартные программы управления памятью

Invalid free of pointer

Mismatched alloc/dealloc functions on Windows

783Ошибка логики приоритета оператора

Possibly unintended evaluation of expression because of operator precedence rules

785Использование манипуляции с путями функционирует без буфера максимального размера

Use of path manipulation function without maximum sized buffer checking

787За пределы запишите

Destination buffer overflow in string manipulation

Destination buffer underflow in string manipulation

789Неконтролируемое выделение памяти

Memory allocation with tainted size

Tainted size of variable length array

Unprotected dynamic memory allocation

805Буферный доступ с неправильным значением длины

Hard-coded object size used to manipulate memory

843Доступ ресурса с помощью несовместимого типа ('Вводят беспорядок'),

Unreliable cast of pointer

910Использование дескриптора файла с истекшим сроком

Closing a previously closed resource

Standard function call with incorrect arguments

Use of previously closed resource

CWE-659: слабые места в программном обеспечении, написанном в C++

CWE-659 является подмножеством идентификаторов CWE, найденных в программах C++, которые не характерны для всех языков. См. CWE-659.

В следующей таблице перечислены идентификаторы CWE (версия 3.3) от этого подмножества, которые обращены Polyspace Bug Finder с его соответствующими дефектными средствами проверки.

ID CWEОписание ID CWEСредство проверки дефекта Polyspace Bug Finder
119Неподходящее ограничение операций в границах буфера памяти

Array access out of bounds

Pointer access out of bounds

120Буферная копия, не проверяя размер входа ('Классическое переполнение буфера')

Invalid use of standard library memory routine

Invalid use of standard library string routine

Tainted NULL or non-null-terminated string

121Стековое переполнение буфера

Array access with tainted index

Destination buffer overflow in string manipulation

122Основанное на куче переполнение буфера

Pointer dereference with tainted offset

124Буфер подписывает ('Недостаточное наполнение буфера')

Array access with tainted index

Buffer overflow from incorrect string format specifier

Destination buffer underflow in string manipulation

Pointer dereference with tainted offset

125За пределы читайте

Array access with tainted index

Buffer overflow from incorrect string format specifier

Destination buffer overflow in string manipulation

126Буфер зачитывался

Buffer overflow from incorrect string format specifier

127Буфер под чтением

Buffer overflow from incorrect string format specifier

128Всеобъемлющая ошибка

Integer constant overflow

Integer conversion overflow

Integer overflow

Memory allocation with tainted size

Tainted sign change conversion

Tainted size of variable length array

Unsigned integer constant overflow

Unsigned integer conversion overflow

Unsigned integer overflow

129Неподходящая валидация индекса массива

Array access with tainted index

Pointer dereference with tainted offset

130Неправильное обращение несоответствия параметра длины

Mismatch between data length and size

131Неправильное вычисление buffer size

Array access out of bounds

Memory allocation with tainted size

Pointer access out of bounds

Tainted sign change conversion

Tainted size of variable length array

Unsigned integer conversion overflow

Unsigned integer overflow

134Неконтролируемая строка формата

Tainted string format

135Неправильный расчет длины байтовой строки

Destination buffer overflow in string manipulation

Misuse of narrow or wide character string

Unreliable cast of pointer

170Неподходящее пустое завершение

Missing null in string array

Misuse of readlink()

Tainted NULL or non-null-terminated string

188Уверенность в размещении данных/памяти

Invalid assumptions about memory organization

Memory comparison of padding data

Memory comparison of strings

Missing byte reordering when transferring data

Pointer access out of bounds

191Целочисленная потеря значимости (Переносятся или повторяются),

Integer constant overflow

Integer conversion overflow

Integer overflow

Unsigned integer constant overflow

Unsigned integer conversion overflow

Unsigned integer overflow

192Целочисленная ошибка приведения

Integer conversion overflow

Integer overflow

Sign change integer conversion overflow

Tainted sign change conversion

Unsigned integer conversion overflow

Unsigned integer overflow

194Неожиданное расширение знака

Sign change integer conversion overflow

Tainted sign change conversion

195Подписанный к ошибке преобразования без знака

Sign change integer conversion overflow

Tainted sign change conversion

196Без знака к ошибке преобразования со знаком

Sign change integer conversion overflow

197Числовая ошибка усечения

Float conversion overflow

Integer conversion overflow

Unsigned integer conversion overflow

242Использование по сути опасной функции

Use of dangerous standard function

243Создание chroot тюрьмы, не изменяя рабочую директорию

File manipulation after chroot without chdir

244Неподходящая очистка памяти кучи перед релизом

Sensitive heap memory not cleared before release

362Параллельное выполнение с помощью совместно используемого ресурса с неподходящей синхронизацией ('Состояние состязания')

File descriptor exposure to child process

Opening previously opened resource

364Состояние состязания обработчика сигнала

Function called from signal handler not asynchronous-safe (strict)

Function called from signal handler not asynchronous-safe

Shared data access within signal handler

366Состояние состязания в потоке

Data race including atomic operations

Data race through standard library function call

Data race

375Возврат изменяемого объекта недоверяемой вызывающей стороне

Return of non const handle to encapsulated data member

401Неподходящий релиз памяти прежде, чем удалить последнюю ссылку

Memory leak

Thread-specific memory leak

415Двойной свободный

Deallocation of previously deallocated pointer

Missing reset of a freed pointer

416Используйте после свободный

Missing reset of a freed pointer

Use of previously freed pointer

457Использование неинициализированной переменной

Member not initialized in constructor

Non-initialized pointer

Non-initialized variable

466Возвратитесь из значения указателя за пределами ожидаемой области значений

Array access out of bounds

Pointer access out of bounds

Unsafe conversion between pointer and integer

467Использование sizeof () на типе указателя

Possible misuse of sizeof

Wrong type used in sizeof

468Неправильное масштабирование указателя

Incorrect pointer scaling

469Использование вычитания указателя, чтобы определить размер

Subtraction or comparison between pointers to different arrays

476Нулевой указатель разыменовывает

Null pointer

Tainted NULL or non-null-terminated string

478Недостающий случай по умолчанию в операторе switch

Missing case for switch condition

479Использование обработчика сигнала неповторно используемой функции

Function called from signal handler not asynchronous-safe (strict)

Function called from signal handler not asynchronous-safe

480Использование неправильного оператора

Invalid use of = (assignment) operator

Invalid use of == (equality) operator

481Присвоение вместо сравнения

Invalid use of = (assignment) operator

482Сравнение вместо присвоения

Invalid use of == (equality) operator

483Неправильное определение границ блока

Incorrectly indented statement

Semicolon on same line as if, for or while statement

484Не использованный оператор завершения в переключателе

Missing break of switch case

558Использование getlogin () в многопоточном приложении

Unsafe standard function

562Возвратитесь из адреса переменной стека

Pointer or reference to stack variable leaving scope

Use of automatic variable as putenv-family function argument

587Присвоение фиксированного адреса к указателю

Function pointer assigned with absolute address

Unsafe conversion between pointer and integer

676Использование потенциально опасной функции

Unsafe conversion from string to numerical value

Use of dangerous standard function

690Возвращаемое значение непроверенное к нулевому указателю разыменовывает

Invalid use of standard library memory routine

Invalid use of standard library routine

Invalid use of standard library string routine

Null pointer

Returned value of a sensitive function not checked

Standard function call with incorrect arguments

Tainted NULL or non-null-terminated string

Unprotected dynamic memory allocation

Use of tainted pointer

704Неправильное преобразование типов или бросок

Character value absorbed into EOF

Misuse of sign-extended character value

Precision loss in integer to float conversion

Qualifier removed in conversion

Unreliable cast of pointer

Wrong allocated object size for cast

762Несовпадающие стандартные программы управления памятью

Invalid free of pointer

Mismatched alloc/dealloc functions on Windows

767Доступ к критической частной переменной через открытый метод

Return of non const handle to encapsulated data member

783Ошибка логики приоритета оператора

Possibly unintended evaluation of expression because of operator precedence rules

785Использование манипуляции с путями функционирует без буфера максимального размера

Use of path manipulation function without maximum sized buffer checking

787За пределы запишите

Destination buffer overflow in string manipulation

Destination buffer underflow in string manipulation

789Неконтролируемое выделение памяти

Memory allocation with tainted size

Tainted size of variable length array

Unprotected dynamic memory allocation

805Буферный доступ с неправильным значением длины

Hard-coded object size used to manipulate memory

843Доступ ресурса с помощью несовместимого типа ('Вводят беспорядок'),

Unreliable cast of pointer

910Использование дескриптора файла с истекшим сроком

Closing a previously closed resource

Standard function call with incorrect arguments

Use of previously closed resource

Похожие темы