exponenta event banner

Дефекты программирования

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

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

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

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

  • Неправильно отформатированные строки

Результаты 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Преобразование типа данных делает допустимое символьное значение таким же, как и в End-of-File (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Спецификаторы формата в printf-like функции не соответствуют соответствующим аргументам
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Тип данных аргумента переменной функции не соответствует типу в 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 вызывается в непараметрической функции или вызывается со вторым аргументом, который не является самым правым параметром вариадической функции
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Операция равенства в операторе назначения
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Функция пытается изменить внутренний буфер, возвращенный из неинтенсивной стандартной функции
Noncompliance with AUTOSAR specificationФункция RTE API используется с аргументами, которые нарушают стандартную спецификацию AUTOSAR
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 превышает число аргументов, переданных переменной функции
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-family
Use of memset with size argument zeroАргумент размера функции в memset семейство равно нулю
Variable length array with nonpositive sizeРазмер массива переменной длины равен нулю или отрицателен
Writing to const qualified objectОбъект, объявленный с помощью const квалификатор изменен
Wrong type used in sizeofsizeof аргумент не соответствует указываемому типу

Темы

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

Проверки дефектов Bug Finder подразделяются на такие группы, как поток данных, параллелизм, числовые и т. д.