Программирование дефектов

Дефекты для программирования ошибок кодирования, присвоения по сравнению с операторами равенства, несоответствием типов, переносом, строковыми массивами

Эти дефекты являются ошибками, относящимися к программированию синтаксиса. Эти дефекты включают:

  • Присвоение по сравнению с операторами равенства

  • Несоответствия между переменными спецификаторами или объявлениями

  • Плохо отформатированные строки

Результаты Polyspace

развернуть все

Abnormal termination of exit handlerВыйдите функция-обработчик прерывает нормальное осуществление программы
Accessing object with temporary lifetimeОперации чтения или операции записи на объекте являются неопределенным поведением
Alternating input and output from a stream without flush or positioning callНеопределенное поведение для операций с потоками ввода или вывода
AssertionНе пройдено оператор контроля
Bad file access mode or statusАргумент режима доступа функции в fopen или open группа недопустима
Call through non-prototyped function pointerУказатель функции, объявленный без его типа или количества параметров, вызывает неожиданное поведение
Call to memset with unintended valuememset или wmemset используемый с возможно неправильными аргументами
Character value absorbed into EOFПреобразование типа данных делает значение допустимого символа тем же самым как Конец файла (EOF)
Copy of overlapping memoryИсточник и целевые аргументы функции копии имеют перекрывающуюся память
Declaration mismatchНе сочетайтесь между объявлениями функции или объявлениями переменной
Environment pointer invalidated by previous operationВызовите к setenv или putenv функция семейства изменяет среду, на которую указывает указатель
Errno not reseterrno не сброс прежде, чем вызвать функцию, которая устанавливает errno
Floating point comparison with equality operatorsНеточное сравнение переменных с плавающей точкой
Format string specifiers and arguments mismatchСпецификаторы строки не совпадают с соответствующими аргументами
Function called from signal handler not asynchronous-safeВызовите к неопределенному поведению программы причин прерванной функции
Function called from signal handler not asynchronous-safe (strict)Вызовите к неопределенному поведению программы причин прерванной функции
Improper array initializationНеправильная инициализация массивов при использовании инициализаторов
Incorrect data type passed to va_argТип данных variadic аргумента функции не совпадает с типом в va_arg вызвать
Incorrect pointer scalingНеявное масштабирование в адресной арифметике с указателями может быть проигнорировано
Incorrect type data passed to va_startТип данных второго аргумента к va_start макрос приводит к неопределенному поведению
Incorrect use of offsetof in C++Неправильные аргументы к offsetof макрос вызывает неопределенное поведение
Incorrect use of va_startva_start назван в функции non-variadic или вызван вторым аргументом, который не является самым правым параметром функции variadic
Incorrect value forwardingПереданная объектная сила быть неожиданно измененным
Inline constraint not respectedМодифицируемая статическая переменная изменяется в нестатической подставляемой функции
Invalid assumptions about memory organizationАдрес вычисляется путем добавления или вычитания из адреса переменной
Invalid file positionfsetpos() вызывается с аргументом положения файла, не полученным из fgetpos()
Invalid use of = (assignment) operatorПрисвоение в условном операторе
Invalid use of == (equality) operatorОперация Equality в операторе присваивания
Invalid use of standard library routineНеправильные аргументы к стандартной библиотечной функции
Invalid va_list argumentСписок аргументов переменной, используемый после аннулирования с va_end или не инициализированный va_start или va_copy
Memory comparison of padding datamemcmp сравнивает данные, хранимые в дополнении структуры
Memory comparison of float-point valuesОбъектное представление значений с плавающей точкой может отличаться (то же самое) для равного (не равный) значения с плавающей точкой
Memory comparison of stringsmemcmp сравнивает данные, хранимые в строках после пустого терминатора строки
Missing byte reordering when transferring dataРазличный порядок байтов хоста и сети
Missing null in string arrayСтрока не завершает работу с нулевым символом
Misuse of a FILE objectИспользование копии объекта FILE
Misuse of errnoerrno неправильно проверяемый на состояние ошибки
Misuse of narrow or wide character stringУзкая (широкая) символьная строка передала широкой (узкой) строковой функции
Misuse of errno in a signal handlerВы читаете errno после вызова errno- установка функции в обработчике сигнала
Misuse of structure with flexible array memberВыделение памяти игнорирует член массива с переменными границами
Misuse of sign-extended character valueПреобразование типа данных с расширением знака вызывает неожиданное поведение
Misuse of return value from nonreentrant standard functionУказатель на статический буфер от предыдущего вызова используется несмотря на последующий вызов, который изменяет буфер
Modification of internal buffer returned from nonreentrant standard functionФункция пытается изменить внутренний буфер, возвращенный в неповторно используемую стандартную функцию
Overlapping assignmentПерекрытие памяти между левыми и правыми сторонами присвоения
Possible misuse of sizeofИспользование sizeof оператор может вызвать непреднамеренные результаты
Possibly unintended evaluation of expression because of operator precedence rulesПравила приоритета оператора вызывают неожиданный порядок оценки в арифметическом выражении
Predefined macro used as objectВы используете стандартные макросы библиотеки, такие как assert и errno как объекты
Preprocessor directive in macro argumentВы используете директиву препроцессору в аргументе к подобному функции макросу
Qualifier removed in conversionПеременный спецификатор потерян во время преобразования
Return from computational exception signal handlerНеопределенное поведение, когда обработчик сигнала обычно возвращается из ошибки в программе
Side effect in arguments to unsafe macroМакрос содержит аргументы, которые могут быть оценены многократно или не оценены
Side effect of expression ignoredsizeof, _Alignof, или _Generic работает с выражением с побочным эффектом
Signal call from within signal handlerНестойкий обработчик сигнала, вызывая signal() в Windows система вызывает состояние состязания
Shared data access within signal handlerДоступ или модификация разделяемых данных вызывают противоречивое состояние
Standard function call with incorrect argumentsАргумент к стандартной функции не удовлетворяет требования для использования в функции
Stream argument with possibly unintended side effectsПотоковые побочные эффекты аргумента происходят несколько раз
Too many va_arg calls for current argument listКоличество вызовов va_arg превышает количество аргументов, переданных функции variadic
Typedef mismatchНе сочетайтесь между typedef операторы
Universal character name from token concatenationВы создаете универсальное имя персонажа путем присоединения лексем с ## оператор
Unnamed namespace in header fileЗаголовочный файл содержит продвижение пространства имен без имени к повторным определениям
Unsafe conversion between pointer and integerНеправильно выровненные или недопустимые результаты преобразований между типами указателей и целочисленными типами
Unsafe conversion from string to numerical valueПредставьте в виде строки к преобразованию чисел без проверок валидации
Use of indeterminate stringИспользование буфера от функции fgets-семейства
Use of memset with size argument zeroАргумент Size функции в memset семейство является нулем
Variable length array with nonpositive sizeРазмер массива переменной длины является нулем или отрицательный
Writing to const qualified objectОбъект объявляется с const спецификатор изменяется
Wrong type used in sizeofsizeof аргумент не совпадает с указанным типом

Темы

Группы дефекта средства поиска ошибки

Средства проверки дефекта Средства поиска Ошибки классифицируются в группы, такие как поток данных, параллелизм, числовой, и так далее.