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