exponenta event banner

ISO/IEC TS 17961 Правила

Описание и список стандартных правил безопасности ISO/IEC TS 17961, поддерживаемых в Polyspace ®

Стандарт ISO/IEC TS 17961 представляет собой набор правил для разработки защищенного кода. Правила разработаны таким образом, что они могут применяться средствами статического анализа без чрезмерных ложных срабатываний.

Polyspace может проверить ваш код в соответствии со стандартом безопасности ISO/IEC TS 17961. Используйте Check ISO/IEC TS 17961 (-iso-17961) для активации подмножеств правил.

Результаты Polyspace

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

ISO/IEC TS 17961 [accfree]Доступ к освобожденной памяти
ISO/IEC TS 17961 [accsig]Доступ к общим объектам в обработчиках сигналов
ISO/IEC TS 17961 [addrescape]Удаление адреса автоматического объекта
ISO/IEC TS 17961 [alignconv]Преобразование значений указателей в более строго выровненные типы указателей
ISO/IEC TS 17961 [argcomp]Вызов функций с неверными аргументами
ISO/IEC TS 17961 [asyncsig]Вызов функций в стандартной библиотеке C, отличных от прерывания, _Exit и сигнала из обработчика сигнала
ISO/IEC TS 17961 [boolasgn]Нет назначения в условных выражениях
ISO/IEC TS 17961 [chreof]Использование значений символов, неотличимых от EOF
ISO/IEC TS 17961 [chrsgnext]Передача аргументов функциям обработки символов, которые не могут быть представлены как неподписанные символы
ISO/IEC TS 17961 [dblfree]Многократное освобождение памяти
ISO/IEC TS 17961 [diverr]Ошибки целочисленного деления
ISO/IEC TS 17961 [fileclose]Не удается закрыть файлы или освободить динамическую память, если они больше не нужны
ISO/IEC TS 17961 [filecpy]Копирование объекта FILE
ISO/IEC TS 17961 [funcdecl]Объявление одной и той же функции или объекта несовместимыми способами
ISO/IEC TS 17961 [insufmem]Выделение недостаточного объема памяти
ISO/IEC TS 17961 [intoflow]Переполнение подписанных целых чисел
ISO/IEC TS 17961 [intptrconv]Преобразование указателя в целое или целое число в указатель
ISO/IEC TS 17961 [inverrno]Неправильная настройка и использование errno
ISO/IEC TS 17961 [invfmtstr]Использование недопустимых строк формата
ISO/IEC TS 17961 [invptr]Формирование или использование указателей вне границ или подстрочных индексов массива
ISO/IEC TS 17961 [ioileave]Перемежение входов и выходов потока без вызова очистки или позиционирования
ISO/IEC TS 17961 [liberr]Ошибка при обнаружении и обработке стандартных библиотечных ошибок
ISO/IEC TS 17961 [libmod]Изменение строки, возвращаемой getenv, localeconv, setlocale и strerror
ISO/IEC TS 17961 [libptr]Формирование недопустимых указателей функцией библиотеки
ISO/IEC TS 17961 [libuse]Использование объекта, перезаписанного getenv, localeconv, setlocale и strerror
ISO/IEC TS 17961 [nonnullcs]Передача отличной от NULL последовательности символов в библиотечную функцию
ISO/IEC TS 17961 [nullref]Отмена передачи указателя вне домена
ISO/IEC TS 17961 [padcomp]Сравнение дополняющих данных
ISO/IEC TS 17961 [ptrcomp]Доступ к объекту через указатель на несовместимый тип
ISO/IEC TS 17961 [ptrobj]Вычитание или сравнение двух указателей, не ссылающихся на один и тот же массив
ISO/IEC TS 17961 [resident]Использование идентификаторов, зарезервированных для реализации
ISO/IEC TS 17961 [restrict]Передача указателей в один и тот же объект в качестве аргументов различным параметрам ограничения
ISO/IEC TS 17961 [sigcall]Вызов сигнала от обработчиков прерывистого сигнала
ISO/IEC TS 17961 [signconv]Преобразование символов со знаком в более широкие целочисленные типы перед проверкой EOF
ISO/IEC TS 17961 [sizeofptr]Выбор размера указателя для определения размера указываемого типа
ISO/IEC TS 17961 [strmod]Изменение строковых литералов
ISO/IEC TS 17961 [swtchdflt]Использование подразумеваемого значения по умолчанию в инструкции switch
ISO/IEC TS 17961 [syscall]Вызывающая система
ISO/IEC TS 17961 [taintformatio]Использование запятнанного значения для записи в объект с помощью форматированной функции ввода или вывода
ISO/IEC TS 17961 [taintnoproto]Использование запятнанного значения в качестве аргумента для указателя функции без прототипа
ISO/IEC TS 17961 [taintsink]В ограниченном приемнике используются запятнанные, потенциально искалеченные или вне домена целочисленные значения
ISO/IEC TS 17961 [taintstrcpy]Запятнанные строки передаются функции копирования строк
ISO/IEC TS 17961 [uninitref]Ссылка на неинициализированную память
ISO/IEC TS 17961 [usrfmt]Включение запятнанных или внедоменных входных данных в строку формата
ISO/IEC TS 17961 [xfilepos]Использование значения для fsetpos, отличного от значения, возвращаемого fgetpos
ISO/IEC TS 17961 [xfree]Перераспределение или освобождение памяти, которая не была динамически выделена

Темы

Проверка нарушений стандартов кодирования

Проверьте наличие нарушений стандартов AUTOSAR C++ 14, CERT ® C, CERT C++ MISRA C ®, MISRA ® C++, JSF AV C++ или ISO-17961 с помощью средства поиска ошибок или средства проверки кода.