Main Content
ISO/IEC TS 17961 Rules
List and description of ISO/IEC TS 17961 security standard rules supported by
Polyspace®
ISO/IEC TS 17961 is a set of rules for developing secure code. The rules are designed such that they can enforced by static analysis tools without excessive false positives.
Polyspace can check your code against the ISO/IEC TS 17961 security standard.
Use the Check ISO/IEC
TS 17961 (-iso-17961)
analysis option to activate subsets of the
rules.
Polyspace Results
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 |
Topics
- Polyspace Support for Coding Standards
Check the Polyspace support for different coding standards.
- Check for and Review Coding Standard Violations
Check for violations of AUTOSAR C++14, CERT® C, CERT C++, CWE, MISRA C™, MISRA™ C++, JSF AV C++, or ISO-17961 standards with Polyspace Bug Finder.