Правила 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]Передающие аргументы к функциям обработки символа, которые не являются представимыми как char без знака
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]Установка Incorrectly и использующий errno
ISO/IEC TS 17961 [invfmtstr]Используя строки недопустимого формата
ISO/IEC TS 17961 [invptr]Формирование или использование-ofbounds указателей или индексов массивов
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]Передача не пустой отключенной последовательности символов к библиотечной функции
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]Перераспределение или освобождение памяти, которая не была динамически выделена

Темы

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

Проверяйте на нарушения C++ AUTOSAR 14, CERT® C, CERT C ++ MISRA C®, MISRA® C ++, JSF AV C++ или стандарт ISO 17961 с Программой автоматического доказательства Средства поиска или Кода Ошибки.