ISO/IEC TS 17961 规则
Polyspace® 支持的 ISO/IEC TS 17961 安全标准规则的列表和描述
ISO/IEC TS 17961 是一个用于开发安全代码的规则集。这些规则设计为可以由静态分析工具实施,且不会出现过多的误报。
Polyspace 可以根据 ISO/IEC TS 17961 安全标准检查您的代码。可以使用检查 ISO/IEC TS 17961 (-iso-17961) 分析选项激活这些规则的子集。
Polyspace 结果
ISO/IEC TS 17961 [accfree] | Accessing freed memory |
ISO/IEC TS 17961 [accsig] | Accessing shared objects in signal handlers |
ISO/IEC TS 17961 [addrescape] | Escaping of the address of an automatic object |
ISO/IEC TS 17961 [alignconv] | Converting pointer values to more strictly aligned pointer types |
ISO/IEC TS 17961 [argcomp] | Calling functions with incorrect arguments |
ISO/IEC TS 17961 [asyncsig] | Calling functions in the C Standard Library other than abort, _Exit, and signal from within a signal handler |
ISO/IEC TS 17961 [boolasgn] | No assignment in conditional expressions |
ISO/IEC TS 17961 [chreof] | Using character values that are indistinguishable from EOF |
ISO/IEC TS 17961 [chrsgnext] | Passing arguments to character handling functions that are not representable as unsigned char |
ISO/IEC TS 17961 [dblfree] | Freeing memory multiple times |
ISO/IEC TS 17961 [diverr] | Integer division errors |
ISO/IEC TS 17961 [fileclose] | Failing to close files or free dynamic memory when they are no longer needed |
ISO/IEC TS 17961 [filecpy] | Copying a FILE object |
ISO/IEC TS 17961 [funcdecl] | Declaring the same function or object in incompatible ways |
ISO/IEC TS 17961 [insufmem] | Allocating insufficient memory |
ISO/IEC TS 17961 [intoflow] | Overflowing signed integers |
ISO/IEC TS 17961 [intptrconv] | Converting a pointer to integer or integer to pointer |
ISO/IEC TS 17961 [inverrno] | Incorrectly setting and using errno |
ISO/IEC TS 17961 [invfmtstr] | Using invalid format strings |
ISO/IEC TS 17961 [invptr] | Forming or using out-of-bounds pointers or array subscripts |
ISO/IEC TS 17961 [ioileave] | Interleaving stream inputs and outputs without a flush or positioning call |
ISO/IEC TS 17961 [liberr] | Failing to detect and handle standard library errors |
ISO/IEC TS 17961 [libmod] | Modifying the string returned by getenv, localeconv, setlocale, and strerror |
ISO/IEC TS 17961 [libptr] | Forming invalid pointers by library function |
ISO/IEC TS 17961 [libuse] | Using an object overwritten by getenv, localeconv, setlocale, and strerror |
ISO/IEC TS 17961 [nonnullcs] | Passing a non-null-terminated character sequence to a library function |
ISO/IEC TS 17961 [nullref] | Dereferencing an out-of-domain pointer |
ISO/IEC TS 17961 [padcomp] | Comparison of padding data |
ISO/IEC TS 17961 [ptrcomp] | Accessing an object through a pointer to an incompatible type |
ISO/IEC TS 17961 [ptrobj] | Subtracting or comparing two pointers that do not refer to the same array |
ISO/IEC TS 17961 [resident] | Using identifiers that are reserved for the implementation |
ISO/IEC TS 17961 [restrict] | Passing pointers into the same object as arguments to different restrict-qualified parameters |
ISO/IEC TS 17961 [sigcall] | Calling signal from interruptible signal handlers |
ISO/IEC TS 17961 [signconv] | Conversion of signed characters to wider integer types before a check for EOF |
ISO/IEC TS 17961 [sizeofptr] | Taking the size of a pointer to determine the size of the pointed-to type |
ISO/IEC TS 17961 [strmod] | Modifying string literals |
ISO/IEC TS 17961 [swtchdflt] | Use of an implied default in a switch statement |
ISO/IEC TS 17961 [syscall] | Calling system |
ISO/IEC TS 17961 [taintformatio] | Using a tainted value to write to an object using a formatted input or output function |
ISO/IEC TS 17961 [taintnoproto] | Using a tainted value as an argument to an unprototyped function pointer |
ISO/IEC TS 17961 [taintsink] | Tainted, potentially mutilated, or out-of-domain integer values are used in a restricted sink |
ISO/IEC TS 17961 [taintstrcpy] | Tainted strings are passed to a string copying function |
ISO/IEC TS 17961 [uninitref] | Referencing uninitialized memory |
ISO/IEC TS 17961 [usrfmt] | Including tainted or out-of-domain input in a format string |
ISO/IEC TS 17961 [xfilepos] | Using a value for fsetpos other than a value returned from fgetpos |
ISO/IEC TS 17961 [xfree] | Reallocating or freeing memory that was not dynamically allocated |
主题
- Polyspace 编码规范支持
检查 Polyspace 对不同编码标准的支持情况。
- 检查并审查编码标准违规
使用 Polyspace Bug Finder 检查代码是否违反了 AUTOSAR C++14、CERT® C、CERT C++、CWE、MISRA C™、MISRA® C++、JSF AV C++ 或 ISO-17961 标准。