--- proj5.1p0.conf 2019-11-29 13:44:47.914927700 -0500 +++ proj5.2p0.conf 2019-11-29 13:45:11.023596800 -0500 @@ -1,7 +1,7 @@ # For emacs: -*- Shell-script -*- # ###################################################################### -# CodeSonar 5.1p0 Configuration File +# CodeSonar 5.2p0 Configuration File ###################################################################### # # CodeSonar will use preferences defined in this file when running @@ -214,98 +214,105 @@ # expanding the range. # # Windows default models: +# COMPILER_MODELS += arm-none-eabi-g++.exe -> gpp +# COMPILER_MODELS += arm-none-eabi-gcc.exe -> gcc +# COMPILER_MODELS += armcc.exe -> armcc +# COMPILER_MODELS += armcl.exe -> cl6x +# COMPILER_MODELS += armcpp.exe -> armcpp # COMPILER_MODELS += bcc32.exe -> borland +# COMPILER_MODELS += c51.exe -> c51 +# COMPILER_MODELS += cc21k.exe -> visualdsp +# COMPILER_MODELS += ccblkfn.exe -> visualdsp +# COMPILER_MODELS += ccrx.exe -> ccrx +# COMPILER_MODELS += ccts.exe -> visualdsp +# COMPILER_MODELS += ch38.exe -> ch38 # COMPILER_MODELS += cl.exe -> cl +# COMPILER_MODELS += cl2000.exe -> cl6x # COMPILER_MODELS += cl30.exe -> cl30 -# COMPILER_MODELS += cl6x.exe -> cl6x -# COMPILER_MODELS += armcl.exe -> cl6x # COMPILER_MODELS += cl430.exe -> cl6x # COMPILER_MODELS += cl470.exe -> cl6x # COMPILER_MODELS += cl55.exe -> cl6x -# COMPILER_MODELS += cl2000.exe -> cl6x -# COMPILER_MODELS += clang.exe -> cc +# COMPILER_MODELS += cl6x.exe -> cl6x +# COMPILER_MODELS += c166.exe -> tasking +# COMPILER_MODELS += clang.exe -> clang +# COMPILER_MODELS += clang++.exe -> clangpp # COMPILER_MODELS += clarm.exe -> cl # COMPILER_MODELS += clmips.exe -> cl # COMPILER_MODELS += clsh.exe -> cl # COMPILER_MODELS += clthumb.exe -> cl -# COMPILER_MODELS += gcc.exe -> gcc +# COMPILER_MODELS += cosmic.exe -> cosmic +# COMPILER_MODELS += cp166.exe -> tasking +# COMPILER_MODELS += cpcp.exe -> tasking +# COMPILER_MODELS += cptc.exe -> tasking +# COMPILER_MODELS += ctc.exe -> tasking +# COMPILER_MODELS += cvavr-null.exe -> cvavr +# COMPILER_MODELS += cw-cc.exe -> xcc +# COMPILER_MODELS += dcc.exe -> dcc +# COMPILER_MODELS += dplus.exe -> dcc +# COMPILER_MODELS += ecom68.exe -> ecomppc +# COMPILER_MODELS += ecom800.exe -> ecomppc +# COMPILER_MODELS += ecom86.exe -> ecomppc +# COMPILER_MODELS += ecomarm.exe -> ecomppc +# COMPILER_MODELS += ecommip.exe -> ecomppc +# COMPILER_MODELS += ecomppc.exe -> ecomppc +# COMPILER_MODELS += ecomx86.exe -> ecomppc +# COMPILER_MODELS += g++-3.exe -> gpp +# COMPILER_MODELS += g++-4.exe -> gpp # COMPILER_MODELS += g++.exe -> gpp # COMPILER_MODELS += gcc-3.exe -> gcc -# COMPILER_MODELS += g++-3.exe -> gpp # COMPILER_MODELS += gcc-4.exe -> gcc -# COMPILER_MODELS += g++-4.exe -> gpp +# COMPILER_MODELS += gcc.exe -> gcc # COMPILER_MODELS += gpp.exe -> gpp # COMPILER_MODELS += gxx.exe -> gpp -# COMPILER_MODELS += i686-pc-mingw32-gcc.exe -> gcc # COMPILER_MODELS += i686-pc-mingw32-g++.exe -> gpp -# COMPILER_MODELS += x86_64-pc-mingw32-gcc.exe -> gcc -# COMPILER_MODELS += x86_64-pc-mingw32-g++.exe -> gpp -# COMPILER_MODELS += ecomppc.exe -> ecomppc -# COMPILER_MODELS += ecomx86.exe -> ecomppc -# COMPILER_MODELS += ecomarm.exe -> ecomppc -# COMPILER_MODELS += ecom86.exe -> ecomppc -# COMPILER_MODELS += ecom68.exe -> ecomppc -# COMPILER_MODELS += ecom800.exe -> ecomppc -# COMPILER_MODELS += ecommip.exe -> ecomppc -# COMPILER_MODELS += armcc.exe -> armcc -# COMPILER_MODELS += armcpp.exe -> armcpp -# COMPILER_MODELS += tcc.exe -> armcc -# COMPILER_MODELS += tcpp.exe -> armcpp -# COMPILER_MODELS += iccarm.exe -> iar +# COMPILER_MODELS += i686-pc-mingw32-gcc.exe -> gcc # COMPILER_MODELS += icc430.exe -> iar +# COMPILER_MODELS += iccarm.exe -> iar # COMPILER_MODELS += iccm32c.exe -> iar -# COMPILER_MODELS += cp166.exe -> tasking -# COMPILER_MODELS += cpcp.exe -> tasking -# COMPILER_MODELS += ctc.exe -> tasking -# COMPILER_MODELS += cptc.exe -> tasking # COMPILER_MODELS += mcpcom.exe -> mcpcom -# COMPILER_MODELS += cw-cc.exe -> xcc +# COMPILER_MODELS += mwccmcf.exe -> mwccmcf +# COMPILER_MODELS += null-cc.exe -> xcc # COMPILER_MODELS += picc.exe -> picc +# COMPILER_MODELS += qcc.exe -> qcc # COMPILER_MODELS += shc.exe -> shc # COMPILER_MODELS += shcpp.exe -> shcpp -# COMPILER_MODELS += ccrx.exe -> ccrx -# COMPILER_MODELS += ch38.exe -> ch38 -# COMPILER_MODELS += dcc.exe -> dcc -# COMPILER_MODELS += dplus.exe -> dcc -# COMPILER_MODELS += null-cc.exe -> xcc -# COMPILER_MODELS += qcc.exe -> qcc -# COMPILER_MODELS += cc21k.exe -> visualdsp -# COMPILER_MODELS += ccts.exe -> visualdsp -# COMPILER_MODELS += ccblkfn.exe -> visualdsp -# COMPILER_MODELS += cvavr-null.exe -> cvavr -# COMPILER_MODELS += arm-none-eabi-gcc.exe -> gcc -# COMPILER_MODELS += arm-none-eabi-g++.exe -> gpp +# COMPILER_MODELS += tcc.exe -> armcc +# COMPILER_MODELS += tcpp.exe -> armcpp +# COMPILER_MODELS += x86_64-pc-mingw32-g++.exe -> gpp +# COMPILER_MODELS += x86_64-pc-mingw32-gcc.exe -> gcc # # POSIX default models: -# COMPILER_MODELS += gcc -> gcc -# COMPILER_MODELS += gxx -> gpp -# COMPILER_MODELS += g++ -> gpp -# COMPILER_MODELS += gpp -> gpp +# COMPILER_MODELS += QCC -> qcc +# COMPILER_MODELS += arm-none-eabi-g++ -> gpp +# COMPILER_MODELS += arm-none-eabi-gcc -> gcc +# COMPILER_MODELS += armcc -> armcc +# COMPILER_MODELS += armcpp -> armcpp # COMPILER_MODELS += c++ -> gpp # COMPILER_MODELS += cc -> cc -# COMPILER_MODELS += clang -> cc -# COMPILER_MODELS += null-cc -> xcc +# COMPILER_MODELS += ch38 -> ch38 +# COMPILER_MODELS += clang -> clang +# COMPILER_MODELS += clang++ -> clangpp +# COMPILER_MODELS += cosmic -> cosmic # COMPILER_MODELS += dcc -> dcc # COMPILER_MODELS += dplus -> dcc -# COMPILER_MODELS += ecomppc -> ecomppc -# COMPILER_MODELS += ecomx86 -> ecomppc -# COMPILER_MODELS += ecom86 -> ecomppc # COMPILER_MODELS += ecom68 -> ecomppc -# COMPILER_MODELS += ecomarm -> ecomppc # COMPILER_MODELS += ecom800 -> ecomppc +# COMPILER_MODELS += ecom86 -> ecomppc +# COMPILER_MODELS += ecomarm -> ecomppc # COMPILER_MODELS += ecommip -> ecomppc +# COMPILER_MODELS += ecomppc -> ecomppc +# COMPILER_MODELS += ecomx86 -> ecomppc +# COMPILER_MODELS += g++ -> gpp +# COMPILER_MODELS += gcc -> gcc +# COMPILER_MODELS += gpp -> gpp +# COMPILER_MODELS += gxx -> gpp # COMPILER_MODELS += mcpcom -> mcpcom +# COMPILER_MODELS += null-cc -> xcc +# COMPILER_MODELS += qcc -> qcc # COMPILER_MODELS += shc -> shc # COMPILER_MODELS += shcpp -> shcpp -# COMPILER_MODELS += ch38 -> ch38 -# COMPILER_MODELS += armcc -> armcc -# COMPILER_MODELS += armcpp -> armcpp # COMPILER_MODELS += tcc -> armcc # COMPILER_MODELS += tcpp -> armcpp -# COMPILER_MODELS += qcc -> qcc -# COMPILER_MODELS += QCC -> qcc -# COMPILER_MODELS += arm-none-eabi-gcc -> gcc -# COMPILER_MODELS += arm-none-eabi-g++ -> gpp # # On Solaris, in addition to POSIX default models: # COMPILER_MODELS += CC -> acpp @@ -356,8 +363,8 @@ # COMPILER_MODELS += ccppc -> ccppc # COMPILER_MODELS += c++ppc -> c++ppc # -# [Windows only] To activate the Cosmic compiler models, use the -# following. +# [Windows only] To activate additional Cosmic compiler mappings, +# use the following. # # COMPILER_MODELS += cpcorm0.exe -> cosmic # COMPILER_MODELS += cpppc.exe -> cosmic @@ -1099,6 +1106,28 @@ # #INITIALIZER_LIMIT = 512 +# Parameter CONSTEXPR_CALL_DEPTH_LIMIT +# +# Purpose +# Specifies an upper bound on the depth of constexpr calls that can +# be folded +# +# Tags +# - ANALYSIS_BOUND: Analysis resource/effort limit +# +# Type +# integer +# +# Behavior +# constexpr calls deeper than this limit are considered non- +# foldable. +# +# A value of -1 means that there is no limit. +# +# Notes +# A large value can cause stack overflow. +# +#CONSTEXPR_CALL_DEPTH_LIMIT = 64 # Parameter AST_DEPTH_LIMIT # @@ -3418,9 +3447,6 @@ # WARNING_FILTER += discard class="Double Initialization" # WARNING_FILTER += discard class="Double Lock" # WARNING_FILTER += discard class="Double Unlock" -# WARNING_FILTER += discard class="Dynamic Invalid Read" -# WARNING_FILTER += discard class="Dynamic Invalid Write" -# WARNING_FILTER += discard class="Dynamic Use After Free" # WARNING_FILTER += discard class="Empty Branch Statement" # WARNING_FILTER += discard class="Empty for Statement" # WARNING_FILTER += discard class="Empty if Statement" @@ -3810,7 +3836,6 @@ # WARNING_FILTER += allow class="Declaration of Reserved Name" # WARNING_FILTER += allow class="Declaration of Variable Length Array" # WARNING_FILTER += allow class="Dynamic Allocation After Initialization" -# WARNING_FILTER += allow class="Dynamic Double Free" # WARNING_FILTER += allow class="Excessive Stack Depth" # WARNING_FILTER += allow class="Expression Value Widened by Assignment" # WARNING_FILTER += allow class="Expression Value Widened by Other Operand" @@ -3986,6 +4011,8 @@ # WARNING_FILTER += allow class="Use of Feature" # WARNING_FILTER += allow class="Use of Input/Output Macro" # WARNING_FILTER += allow class="Use of Input/Output" +# WARNING_FILTER += allow class="Use of Allocator/Deallocator Macro" +# WARNING_FILTER += allow class="Use of Allocator/Deallocator" # WARNING_FILTER += allow class="Use of " # WARNING_FILTER += allow class="Use of Time/Date Function" # WARNING_FILTER += allow class="Use of Input/Output Macro" @@ -4043,9 +4070,17 @@ # WARNING_FILTER += allow class="Use of setuid" # WARNING_FILTER += allow class="Use of signal" # WARNING_FILTER += allow class="Use of strcat" +# WARNING_FILTER += allow class="Use of strchr" # WARNING_FILTER += allow class="Use of strcmp" +# WARNING_FILTER += allow class="Use of strcoll" # WARNING_FILTER += allow class="Use of strcpy" +# WARNING_FILTER += allow class="Use of strcspn" # WARNING_FILTER += allow class="Use of strlen" +# WARNING_FILTER += allow class="Use of strpbrk" +# WARNING_FILTER += allow class="Use of strrchr" +# WARNING_FILTER += allow class="Use of strspn" +# WARNING_FILTER += allow class="Use of strstr" +# WARNING_FILTER += allow class="Use of strtok" # WARNING_FILTER += allow class="Use of strtrns" # WARNING_FILTER += allow class="Use of syslog" # WARNING_FILTER += allow class="Use of system" @@ -4801,13 +4836,13 @@ #BAD_FUNCTION_REGEX = ^setjmp$ #BAD_FUNCTION_MESSAGE = $Call to setjmp$Use of setjmp -#BAD_FUNCTION_CATEGORIES = BADFUNC.SETJMP;Misra2012:21.4;CWE:691;CWE:710;POW10:1;JPL:11 +#BAD_FUNCTION_CATEGORIES = BADFUNC.SETJMP;CWE:676;CWE:691;CWE:710;CWE:1170;Misra2012:21.4;Misra2004:20.7;MisraC++2008:17-0-5;AUTOSARC++14:M17-0-5;CERT-C:MSC22-C;CERT-CPP:ERR52-CPP;JPL:11;POW10:1 #BAD_FUNCTION_BASE_RANK = 1.0 #BAD_FUNCTION_SIGNIFICANCE = SECURITY #BAD_FUNCTION_REGEX = ^longjmp$ #BAD_FUNCTION_MESSAGE = $Call to longjmp$Use of longjmp -#BAD_FUNCTION_CATEGORIES = BADFUNC.LONGJMP;Misra2012:21.4;CWE:691;CWE:710;POW10:1;JPL:11 +#BAD_FUNCTION_CATEGORIES = BADFUNC.LONGJMP;CWE:676;CWE:691;CWE:710;CWE:1170;Misra2012:21.4;Misra2004:20.7;MisraC++2008:17-0-5;AUTOSARC++14:M17-0-5;CERT-C:MSC22-C;CERT-CPP:ERR52-CPP;JPL:11;POW10:1 #BAD_FUNCTION_BASE_RANK = 12.0 #BAD_FUNCTION_SIGNIFICANCE = SECURITY @@ -4840,7 +4875,7 @@ #BAD_FUNCTION_REGEX = ^system$|^_wsystem$ #BAD_FUNCTION_MESSAGE = Use of system -#BAD_FUNCTION_CATEGORIES = BADFUNC.PATH.SYSTEM;Misra2012:21.8;Misra2004:20.11;BSI:Exec-SearchPath-01;CWE:426 +#BAD_FUNCTION_CATEGORIES = BADFUNC.PATH.SYSTEM;CWE:676;CWE:1165;Misra2004:20.11;Misra2012:21.8;MisraC++2008:18-0-3;AUTOSARC++14:M18-0-3;CERT-C:ENV33-C;TS17961:syscall;DISA-4r3:V-70261;DISA-3r10:V-6157;DISA-3r10:V-16810 #BAD_FUNCTION_BASE_RANK = 1.0 #BAD_FUNCTION_SIGNIFICANCE = SECURITY @@ -5088,7 +5123,7 @@ #BAD_FUNCTION_REGEX = ^signal$ #BAD_FUNCTION_MESSAGE = Use of signal -#BAD_FUNCTION_CATEGORIES = BADFUNC.SIGNAL;BSI:SIGNAL-01;CWE:242 +#BAD_FUNCTION_CATEGORIES = BADFUNC.SIGNAL;CWE:676;CWE:1166;CWE:1169;MisraC++2008:18-7-1;AUTOSARC++14:M18-7-1;CERT-C:CON37-C;CERT-C:SIG34-C;CERT-C:SIG02-C;TS17961:accsig;TS17961:asyncsig;TS17961:sigcall;BSI:SIGNAL-01 #BAD_FUNCTION_BASE_RANK = 1.0 #BAD_FUNCTION_SIGNIFICANCE = SECURITY @@ -5126,7 +5161,7 @@ #BAD_FUNCTION_REGEX = ^l?strcmpi?$ #BAD_FUNCTION_MESSAGE = Use of strcmp -#BAD_FUNCTION_CATEGORIES = BADFUNC.BO.STRCMP;BSI:STRCMP;CWE:120;CWE:242;CWE:251 +#BAD_FUNCTION_CATEGORIES = BADFUNC.BO.STRCMP;CWE:251;CWE:676;CWE:1161;MisraC++2008:18-0-5;AUTOSARC++14:M18-0-5;CERT-C:STR07-C;BSI:STRCMP #BAD_FUNCTION_BASE_RANK = 1.0 #BAD_FUNCTION_SIGNIFICANCE = SECURITY @@ -5134,19 +5169,19 @@ #BAD_FUNCTION_REGEX = ^strcpy$|^StrCpy(A|W)?$|^strccpy$|^strcadd$ #BAD_FUNCTION_MESSAGE = Use of strcpy -#BAD_FUNCTION_CATEGORIES = BADFUNC.BO.STRCPY;BSI:STRCPY;CWE:120;CWE:242;CWE:251 +#BAD_FUNCTION_CATEGORIES = BADFUNC.BO.STRCPY;CWE:251;CWE:676;CWE:1161;MisraC++2008:18-0-5;AUTOSARC++14:M18-0-5;CERT-C:STR07-C;TS17961:taintstrcpy;BSI:STRCPY #BAD_FUNCTION_BASE_RANK = 1.0 #BAD_FUNCTION_SIGNIFICANCE = SECURITY #BAD_FUNCTION_REGEX = ^(ua)?lstrcpy(A|W)?$|^olestrcpy$ #BAD_FUNCTION_MESSAGE = Use of strcpy -#BAD_FUNCTION_CATEGORIES = BADFUNC.BO.STRCPY;BSI:STRCPY;CWE:120;CWE:242;CWE:251 +#BAD_FUNCTION_CATEGORIES = BADFUNC.BO.STRCPY;CWE:251;CWE:676;CWE:1161;MisraC++2008:18-0-5;AUTOSARC++14:M18-0-5;CERT-C:STR07-C;TS17961:taintstrcpy;BSI:STRCPY #BAD_FUNCTION_BASE_RANK = 1.0 #BAD_FUNCTION_SIGNIFICANCE = SECURITY #BAD_FUNCTION_REGEX = ^_f?tcscpy$|^_?mbscpy$|^wcscpy$ #BAD_FUNCTION_MESSAGE = Use of strcpy -#BAD_FUNCTION_CATEGORIES = BADFUNC.BO.STRCPY;BSI:STRCPY;CWE:120;CWE:242;CWE:251 +#BAD_FUNCTION_CATEGORIES = BADFUNC.BO.STRCPY;CWE:251;CWE:676;CWE:1161;MisraC++2008:18-0-5;AUTOSARC++14:M18-0-5;CERT-C:STR07-C;TS17961:taintstrcpy;BSI:STRCPY #BAD_FUNCTION_BASE_RANK = 1.0 #BAD_FUNCTION_SIGNIFICANCE = SECURITY @@ -5154,13 +5189,13 @@ #BAD_FUNCTION_REGEX = ^l?strlen$ #BAD_FUNCTION_MESSAGE = Use of strlen -#BAD_FUNCTION_CATEGORIES = BADFUNC.BO.STRLEN;BSI:STRLEN;CWE:120;CWE:242;CWE:251 +#BAD_FUNCTION_CATEGORIES = BADFUNC.BO.STRLEN;CWE:251;CWE:676;CWE:1161;MisraC++2008:18-0-5;AUTOSARC++14:M18-0-5;CERT-C:STR07-C;BSI:STRLEN #BAD_FUNCTION_BASE_RANK = 1.0 #BAD_FUNCTION_SIGNIFICANCE = SECURITY #BAD_FUNCTION_REGEX = ^_mbslen$|^_tcslen$|^wcslen$ #BAD_FUNCTION_MESSAGE = Use of strlen -#BAD_FUNCTION_CATEGORIES = BADFUNC.BO.STRLEN;BSI:STRLEN;CWE:120;CWE:242;CWE:251 +#BAD_FUNCTION_CATEGORIES = BADFUNC.BO.STRLEN;CWE:251;CWE:676;CWE:1161;MisraC++2008:18-0-5;AUTOSARC++14:M18-0-5;CERT-C:STR07-C;BSI:STRLEN #BAD_FUNCTION_BASE_RANK = 1.0 #BAD_FUNCTION_SIGNIFICANCE = SECURITY @@ -5172,6 +5207,56 @@ #BAD_FUNCTION_BASE_RANK = 1.0 #BAD_FUNCTION_SIGNIFICANCE = SECURITY +## -- for Misra C++ 2008/AUTOSAR + +#BAD_FUNCTION_REGEX = ^strchr$ +#BAD_FUNCTION_MESSAGE = Use of strchr +#BAD_FUNCTION_CATEGORIES = BADFUNC.BO.STRCHR;CWE:251;CWE:676;CWE:1161;MisraC++2008:18-0-5;AUTOSARC++14:M18-0-5;CERT-C:STR07-C; +#BAD_FUNCTION_BASE_RANK = 1.0 +#BAD_FUNCTION_SIGNIFICANCE = SECURITY + +#BAD_FUNCTION_REGEX = ^strcoll$ +#BAD_FUNCTION_MESSAGE = Use of strcoll +#BAD_FUNCTION_CATEGORIES = BADFUNC.BO.STRCOLL;CWE:251;CWE:676;CWE:1161;MisraC++2008:18-0-5;AUTOSARC++14:M18-0-5;CERT-C:STR07-C; +#BAD_FUNCTION_BASE_RANK = 1.0 +#BAD_FUNCTION_SIGNIFICANCE = SECURITY + +#BAD_FUNCTION_REGEX = ^strcspn$ +#BAD_FUNCTION_MESSAGE = Use of strcspn +#BAD_FUNCTION_CATEGORIES = BADFUNC.BO.STRCSPN;CWE:251;CWE:676;CWE:1161;MisraC++2008:18-0-5;AUTOSARC++14:M18-0-5;CERT-C:STR07-C; +#BAD_FUNCTION_BASE_RANK = 1.0 +#BAD_FUNCTION_SIGNIFICANCE = SECURITY + +#BAD_FUNCTION_REGEX = ^strpbrk$ +#BAD_FUNCTION_MESSAGE = Use of strpbrk +#BAD_FUNCTION_CATEGORIES = BADFUNC.BO.STRPBRK;CWE:251;CWE:676;CWE:1161;MisraC++2008:18-0-5;AUTOSARC++14:M18-0-5;CERT-C:STR07-C; +#BAD_FUNCTION_BASE_RANK = 1.0 +#BAD_FUNCTION_SIGNIFICANCE = SECURITY + +#BAD_FUNCTION_REGEX = ^strrchr$ +#BAD_FUNCTION_MESSAGE = Use of strrchr +#BAD_FUNCTION_CATEGORIES = BADFUNC.BO.STRRCHR;CWE:251;CWE:676;CWE:1161;MisraC++2008:18-0-5;AUTOSARC++14:M18-0-5;CERT-C:STR07-C; +#BAD_FUNCTION_BASE_RANK = 1.0 +#BAD_FUNCTION_SIGNIFICANCE = SECURITY + +#BAD_FUNCTION_REGEX = ^strspn$ +#BAD_FUNCTION_MESSAGE = Use of strspn +#BAD_FUNCTION_CATEGORIES = BADFUNC.BO.STRSPN;CWE:251;CWE:676;CWE:1161;MisraC++2008:18-0-5;AUTOSARC++14:M18-0-5;CERT-C:STR07-C; +#BAD_FUNCTION_BASE_RANK = 1.0 +#BAD_FUNCTION_SIGNIFICANCE = SECURITY + +#BAD_FUNCTION_REGEX = ^strstr$ +#BAD_FUNCTION_MESSAGE = Use of strstr +#BAD_FUNCTION_CATEGORIES = BADFUNC.BO.STRSTR;CWE:251;CWE:676;CWE:1161;MisraC++2008:18-0-5;AUTOSARC++14:M18-0-5;CERT-C:STR07-C; +#BAD_FUNCTION_BASE_RANK = 1.0 +#BAD_FUNCTION_SIGNIFICANCE = SECURITY + +#BAD_FUNCTION_REGEX = ^strtok$ +#BAD_FUNCTION_MESSAGE = Use of strtok +#BAD_FUNCTION_CATEGORIES = BADFUNC.BO.STRTOK;CWE:251;CWE:676;CWE:1161;MisraC++2008:18-0-5;AUTOSARC++14:M18-0-5;CERT-C:STR07-C; +#BAD_FUNCTION_BASE_RANK = 1.0 +#BAD_FUNCTION_SIGNIFICANCE = SECURITY + ## --- for BSI SYSLOG-1 Rule #BAD_FUNCTION_REGEX = ^syslog$ @@ -5232,7 +5317,7 @@ ## http://pubs.opengroup.org/onlinepubs/7908799/xsh/stdio.h.html #BAD_FUNCTION_REGEX = ^(clearerr|ctermid|cuserid|fclose|fdopen|feof|ferror|fflush|fgetc|fgetpos|fgets|fileno|flockfile|fopen|fprintf|fputc|fputs|fread|freopen|fscanf|fseek|fseeko|fsetpos|ftell|ftello|ftrylockfile|funlockfile|fwrite|getc|getchar|getc_unlocked|getchar_unlocked|getopt|gets|getw|pclose|perror|popen|printf|putc|putchar|putc_unlocked|putchar_unlocked|puts|putw|remove|rename|rewind|scanf|setbuf|setvbuf|snprintf|sprintf|sscanf|tempnam|tmpfile|tmpnam|ungetc|vfprintf|vprintf|vsnprintf|vsprintf)$ #BAD_FUNCTION_MESSAGE = Use of Input/Output -#BAD_FUNCTION_CATEGORIES = BADFUNC.STDIO_H;Misra2012:21.6;CWE:758;CWE:676 +#BAD_FUNCTION_CATEGORIES = BADFUNC.STDIO_H;CWE:676;CWE:758;Misra2004:20.9;Misra2012:21.6;MisraC++2008:27-0-1;AUTOSARC++14:M27-0-1 #BAD_FUNCTION_BASE_RANK = 10 #BAD_FUNCTION_SIGNIFICANCE = STYLE @@ -5240,7 +5325,7 @@ ## http://pubs.opengroup.org/onlinepubs/7908799/xsh/wchar.h.html #BAD_FUNCTION_REGEX = ^(btowc|fwprintf|fwscanf|iswalnum|iswalpha|iswcntrl|iswdigit|iswgraph|iswlower|iswprint|iswpunct|iswspace|iswupper|iswxdigit|iswctype|fgetwc|fgetws|fputwc|fputws|fwide|getwc|getwchar|mbsinit|mbrlen|mbrtowc|mbsrtowcs|putwc|putwchar|swprintf|swscanf|towlower|towupper|ungetwc|vfwprintf|vwprintf|vswprintf|wcrtomb|wcscat|wcschr|wcscmp|wcscoll|wcscpy|wcscspn|wcsftime|wcslen|wcsncat|wcsncmp|wcsncpy|wcspbrk|wcsrchr|wcsrtombs|wcsspn|wcsstr|wcstod|wcstok|wcstol|wcstoul|wcswcs|wcswidth|wcsxfrm|wctob|wctype|wcwidth|wmemchr|wmemcmp|wmemcpy|wmemmove|wmemset|wprintf|wscanf)$ #BAD_FUNCTION_MESSAGE = Use of Input/Output -#BAD_FUNCTION_CATEGORIES = BADFUNC.WCHAR_H;Misra2012:21.6;CWE:758;CWE:676 +#BAD_FUNCTION_CATEGORIES = BADFUNC.WCHAR_H;Misra2004:20.9;CWE:676;CWE:758;Misra2012:21.6;MisraC++2008:27-0-1;AUTOSARC++14:M27-0-1 #BAD_FUNCTION_BASE_RANK = 10 #BAD_FUNCTION_SIGNIFICANCE = STYLE @@ -5271,19 +5356,19 @@ #BAD_FUNCTION_REGEX = ^(abort)$ #BAD_FUNCTION_MESSAGE = Use of abort -#BAD_FUNCTION_CATEGORIES = BADFUNC.ABORT;Misra2012:21.8;Misra2004:20.11;CWE:758;CWE:676 +#BAD_FUNCTION_CATEGORIES = BADFUNC.ABORT;CWE:676;CWE:758;Misra2012:21.8;Misra2004:20.11;MisraC++2008:18-0-3;AUTOSARC++14:M18-0-3;CERT-CPP:ERR50-CPP #BAD_FUNCTION_BASE_RANK = 10 #BAD_FUNCTION_SIGNIFICANCE = STYLE #BAD_FUNCTION_REGEX = ^(exit)$ #BAD_FUNCTION_MESSAGE = Use of exit -#BAD_FUNCTION_CATEGORIES = BADFUNC.EXIT;Misra2012:21.8;Misra2004:20.11;CWE:758;CWE:676 +#BAD_FUNCTION_CATEGORIES = BADFUNC.EXIT;CWE:676;CWE:758;Misra2012:21.8;Misra2004:20.11;MisraC++2008:18-0-3;AUTOSARC++14:M18-0-3;CERT-CPP:ERR50-CPP #BAD_FUNCTION_BASE_RANK = 10 #BAD_FUNCTION_SIGNIFICANCE = STYLE #BAD_FUNCTION_REGEX = ^(getenv)$ #BAD_FUNCTION_MESSAGE = Use of getenv -#BAD_FUNCTION_CATEGORIES = BADFUNC.GETENV;Misra2012:21.8;Misra2004:20.11;CWE:758;CWE:676 +#BAD_FUNCTION_CATEGORIES = BADFUNC.GETENV;CWE:676;CWE:758;Misra2004:20.11;MisraC++2008:18-0-3;AUTOSARC++14:M18-0-3 #BAD_FUNCTION_BASE_RANK = 10 #BAD_FUNCTION_SIGNIFICANCE = STYLE @@ -5301,7 +5386,7 @@ #BAD_FUNCTION_REGEX = ^(asctime|asctime_r|clock|clock_getres|clock_gettime|clock_settime|ctime|ctime_r|difftime|getdate|gmtime|gmtime_r|localtime|localtime_r|mktime|nanosleep|strftime|strptime|time|timer_create|timer_delete|timer_gettime|timer_getoverrun|timer_settime|tzset)$ #BAD_FUNCTION_MESSAGE = Use of Time/Date Function -#BAD_FUNCTION_CATEGORIES = BADFUNC.TIME_H;Misra2012:21.10;CWE:758;CWE:676 +#BAD_FUNCTION_CATEGORIES = BADFUNC.TIME_H;CWE:676;CWE:758;Misra2004:20.12;Misra2012:21.10;MisraC++2008:18-0-4;AUTOSARC++14:M18-0-4 #BAD_FUNCTION_BASE_RANK = 10 #BAD_FUNCTION_SIGNIFICANCE = STYLE @@ -5431,6 +5516,13 @@ #BAD_FUNCTION_BASE_RANK = 1.0 #BAD_FUNCTION_SIGNIFICANCE = RELIABILITY +#BAD_FUNCTION_REGEX = ^(malloc|calloc|realloc|free)$ +#BAD_FUNCTION_MESSAGE = Use of Allocator/Deallocator +#BAD_FUNCTION_INFO = it is disallowed by some coding standards +#BAD_FUNCTION_CATEGORIES = BADFUNC.STDLIB_H_MEM;AUTOSARC++14:18-5-1;Misra2012:21.3;Misra2004:20.4;JPL:5;CWE:710;POW10:3 +#BAD_FUNCTION_BASE_RANK = 1.0 +#BAD_FUNCTION_SIGNIFICANCE = STYLE + # Parameter PLUGINS # # Purpose @@ -13901,14 +13993,17 @@ # # Purpose # Specifies whether or not each analysis slave should only perform -# one unit of work. +# one unit of work before terminating itself. # # Type # { Yes, No } # # Behavior # - Yes : An analysis slave will always exit once it has performed -# one unit of work. +# one unit of work. A new process will be created for every unit +# of work, incurring massive overhead and missing out on +# significant caching opportunities. Performance can be severely +# degraded. # - No : There is no upper bound on the number of units of work # that a slave may perform. # @@ -13918,7 +14013,8 @@ # # Notes # This is useful for debugging CodeSonar in some cases or CodeSonar -# plugins. +# plugins. Use of this setting in a production setting is +# discouraged. #UNIT_OF_WORK_ISOLATION = No @@ -14300,7 +14396,7 @@ #BAD_MACRO_NAME = ^(offsetof)$ #BAD_MACRO_INFO = offsetof is disallowed because it has portability problems #BAD_MACRO_FILENAME = stddef.h$ -#BAD_MACRO_CATEGORIES = BADMACRO.OFFSETOFF;Misra2004:20.6;MisraC++2008:18-2-1 +#BAD_MACRO_CATEGORIES = BADMACRO.OFFSETOFF;Misra2004:20.6;MisraC++2008:18-2-1;AUTOSARC++14:M18-2-1 #BAD_MACRO_BASE_RANK = 12.0 #BAD_MACRO_SIGNIFICANCE = RELIABILITY @@ -14316,17 +14412,24 @@ #BAD_MACRO_CLASS = Use of Input/Output Macro #BAD_MACRO_NAME = ^(clearerr|ctermid|cuserid|fclose|fdopen|feof|ferror|fflush|fgetc|fgetpos|fgets|fileno|flockfile|fopen|fprintf|fputc|fputs|fread|freopen|fscanf|fseek|fseeko|fsetpos|ftell|ftello|ftrylockfile|funlockfile|fwrite|getc|getchar|getc_unlocked|getchar_unlocked|getopt|gets|getw|pclose|perror|popen|printf|putc|putchar|putc_unlocked|putchar_unlocked|puts|putw|remove|rename|rewind|scanf|setbuf|setvbuf|snprintf|sprintf|sscanf|tempnam|tmpfile|tmpnam|ungetc|vfprintf|vprintf|vsnprintf|vsprintf)$ #BAD_MACRO_FILENAME = stdio.h$ -#BAD_MACRO_CATEGORIES = BADMACRO.STDIO_H;Misra2012:21.6;CWE:758;CWE:676 +#BAD_MACRO_CATEGORIES = BADMACRO.STDIO_H;CWE:676;CWE:758;Misra2004:20.9;Misra2012:21.6;MisraC++2008:27-0-1;AUTOSARC++14:M27-0-1;POW10:8;JPL:20 #BAD_MACRO_BASE_RANK = 10.0 #BAD_MACRO_SIGNIFICANCE = STYLE #BAD_MACRO_CLASS = Use of Input/Output Macro #BAD_MACRO_NAME = ^(btowc|fwprintf|fwscanf|iswalnum|iswalpha|iswcntrl|iswdigit|iswgraph|iswlower|iswprint|iswpunct|iswspace|iswupper|iswxdigit|iswctype|fgetwc|fgetws|fputwc|fputws|fwide|getwc|getwchar|mbsinit|mbrlen|mbrtowc|mbsrtowcs|putwc|putwchar|swprintf|swscanf|towlower|towupper|ungetwc|vfwprintf|vwprintf|vswprintf|wcrtomb|wcscat|wcschr|wcscmp|wcscoll|wcscpy|wcscspn|wcsftime|wcslen|wcsncat|wcsncmp|wcsncpy|wcspbrk|wcsrchr|wcsrtombs|wcsspn|wcsstr|wcstod|wcstok|wcstol|wcstoul|wcswcs|wcswidth|wcsxfrm|wctob|wctype|wcwidth|wmemchr|wmemcmp|wmemcpy|wmemmove|wmemset|wprintf|wscanf)$ #BAD_MACRO_FILENAME = wchar.h$ -#BAD_MACRO_CATEGORIES = BADMACRO.WCHAR_H;Misra2012:21.6;CWE:758;CWE:676 +#BAD_MACRO_CATEGORIES = BADMACRO.WCHAR_H;Misra2004:20.9;CWE:676;CWE:758;Misra2012:21.6;MisraC++2008:27-0-1;AUTOSARC++14:M27-0-1;POW10:8;JPL:20 #BAD_MACRO_BASE_RANK = 10 #BAD_MACRO_SIGNIFICANCE = STYLE +#BAD_MACRO_CLASS = Use of Allocator/Deallocator Macro +#BAD_MACRO_NAME = ^(malloc|calloc|realloc|free)$ +#BAD_MACRO_FILENAME = stdlib.h$ +#BAD_MACRO_INFO = is disallowed by some coding standards +#BAD_MACRO_CATEGORIES = BADMACRO.STDLIB_H_MEM;AUTOSARC++14:18-5-1;Misra2012:21.3;Misra2004:20.4;JPL:5;CWE:710;POW10:3 +#BAD_MACRO_BASE_RANK = 1.0 +#BAD_MACRO_SIGNIFICANCE = STYLE # Parameter SIDE_EFFECT_FREE_FUNCTIONS #