--- template7.4p0.conf 2023-11-03 01:44:21.385279600 +1300 +++ template8.0p0.conf 2023-11-03 01:39:31.777278400 +1300 @@ -1,7 +1,7 @@ # For emacs: -*- Shell-script -*- # ###################################################################### -# CodeSonar 7.4p0 Configuration File +# CodeSonar 8.0p0 Configuration File ###################################################################### # # CodeSonar will use preferences defined in this file when running @@ -39,7 +39,7 @@ # # If a command line flag contradicts a configuration file setting # (even in the template configuration file), then behavior is -# undefined. GrammaTech strongly encourages users to use +# undefined. CodeSecure strongly encourages users to use # configuration files to encode settings rather than command line # flags, and is in the process of deprecating use of command line # flags in some contexts. @@ -177,7 +177,7 @@ # with all compilation units compiled by the specified executable. # - The project-compiler configuration file # [doc/html/Preferences/PreferencesIndex.html#project_compiler] -# loaded during the parse phase will include the ABI key in its +# loaded during the build phase will include the ABI key in its # name. This allows users to specify different configuration # settings for different ABIs. # - CodeSonar will prefer to link compilation units with the same @@ -277,6 +277,7 @@ # COMPILER_MODELS += iccrx.exe -> iccrx # COMPILER_MODELS += iccstm8.exe -> iccstm8 # COMPILER_MODELS += iccv850.exe -> iccv850 +# COMPILER_MODELS += mwccarm.exe -> mwccarm # COMPILER_MODELS += mwccmcf.exe -> mwccmcf # COMPILER_MODELS += null-cc.exe -> xcc # COMPILER_MODELS += picc.exe -> picc @@ -572,6 +573,7 @@ # DISABLED_COMPILERS += iccrx.exe # DISABLED_COMPILERS += iccstm8.exe # DISABLED_COMPILERS += iccv850.exe +# DISABLED_COMPILERS += mwccarm.exe # DISABLED_COMPILERS += mwccmcf.exe # DISABLED_COMPILERS += null-cc.exe # DISABLED_COMPILERS += picc.exe @@ -1418,7 +1420,7 @@ # # Behavior # See section Front-End Options -# [doc/html/C_Module/CompilerModels/CsurfFrontEndOptions.html] for +# [doc/html/C_Module/CompilerModels/FrontEndOptions.html] for # descriptions of the available options. # # Notes @@ -1459,7 +1461,7 @@ # # Behavior # See section Front-End Options -# [doc/html/C_Module/CompilerModels/CsurfFrontEndOptions.html] for +# [doc/html/C_Module/CompilerModels/FrontEndOptions.html] for # descriptions of the available options. # # Notes @@ -1616,7 +1618,7 @@ # # Notes # It is not recommended that users alter this unless advised to do -# so by GrammaTech. +# so by CodeSecure. # # Setting this to a large value can help avoid problems where large # allocations are eventually unsatisfiable in long-running @@ -1644,7 +1646,7 @@ # # Notes # It is not recommended that users alter this unless advised to do -# so by GrammaTech. +# so by CodeSecure. # # Defragmentable allocations have a space overhead of 32 bytes and # time overhead linear in the amount of space allocated. @@ -1996,15 +1998,16 @@ # FATSTATS_DUMP_FILE = /PATH/TO/dump_file -# Parameter MAX_CONCURRENT_PARSE_PROCESSES +# Parameter MAX_CONCURRENT_BUILD_PROCESSES # # Tags # - ANALYSIS_BOUND: Analysis resource/effort limit # # Purpose -# Limits the number of concurrent parse processes. Note that -# concurrent parsing only occurs insofar as your normal build -# system invokes the compiler concurrently. +# Limits the number of concurrent processes in the CodeSonar +# project build phase. Note that concurrent CodeSonar project +# building only occurs insofar as your normal build system invokes +# the compiler concurrently. # # Type # integer @@ -2017,7 +2020,7 @@ # the number of files a process can open. Typical file descriptor # limits for this platform are: # - getrlimit(RLIMIT_NOFILE) = 1024 -# - GrammaTech-Internal Limit = 4096 +# - CodeSecure-Internal Limit = 4096 # # Increasing this value may cause the product to exhaust available # file descriptors. Environments with low ulimits may need to @@ -2027,7 +2030,7 @@ # 32-bit systems generally don't have enough RAM available to # userland processes for running more than 2 concurrent parsers. # -MAX_CONCURRENT_PARSE_PROCESSES = 2 +MAX_CONCURRENT_BUILD_PROCESSES = 2 # Parameter PROCEDURE_METRIC_TIMEOUT @@ -2103,7 +2106,7 @@ # Details Logs [doc/html/GUI/GUI_Log_Parse_Details.html]. # # Notes -# Setting this to No will speed up the parse phase. +# Setting this to No will speed up the build phase. # # If set to No, SEND_PARSE_LOG_TO_HUB will be disabled, too. @@ -2137,7 +2140,7 @@ # SEND_HOOK_LOG_TO_HUB=Yes. # # Notes -# Setting this to No will speed up the parse phase. +# Setting this to No will speed up the build phase. # # If SEND_HOOK_LOG_TO_HUB=No, CodeSonar behaves as if # SEND_PARSE_LOG_TO_HUB=No (regardless of its actual setting). @@ -4380,6 +4383,7 @@ # WARNING_FILTER += allow class="Basic Numerical Type Used" # WARNING_FILTER += allow class="Bit-field Signedness Not Explicit" # WARNING_FILTER += allow class="Bit-field Too Short" +# WARNING_FILTER += allow class="Bit-field in Union" # WARNING_FILTER += allow class="Body Is Not Compound Statement" # WARNING_FILTER += allow class="Boolean switch Expression" # WARNING_FILTER += allow class="C++ Comment in C" @@ -4411,9 +4415,11 @@ # WARNING_FILTER += allow class="Declaration of Flexible Array Member" # WARNING_FILTER += allow class="Declaration of Reserved Name" # WARNING_FILTER += allow class="Declaration of Variable Length Array" +# WARNING_FILTER += allow class="Direct Access to Field of C Atomic Object" # WARNING_FILTER += allow class="Dynamic Allocation After Initialization" # WARNING_FILTER += allow class="Ellipsis" # WARNING_FILTER += allow class="Essential Type Diagnostic" +# WARNING_FILTER += allow class="Excessive Macro Parameter Evaluation in C Generic" # 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" @@ -4437,20 +4443,27 @@ # WARNING_FILTER += allow class="Implicit Address of Function" # WARNING_FILTER += allow class="Implicit Function Declaration" # WARNING_FILTER += allow class="Implicit Lambda Capture" +# WARNING_FILTER += allow class="Implicit Pointer Type Conversion in Selection of C Generic" # WARNING_FILTER += allow class="Implicit Type" -# WARNING_FILTER += allow class="Inappropriate Argument Type" +# WARNING_FILTER += allow class="Inappropriate Argument to Macro" +# WARNING_FILTER += allow class="Inappropriate Argument to Integer Constant Macro" +# WARNING_FILTER += allow class="Inappropriate Argument to memcmp" # WARNING_FILTER += allow class="Inappropriate Assignment Type" +# WARNING_FILTER += allow class="Inappropriate Association Type in C Generic" # WARNING_FILTER += allow class="Inappropriate Bit-field Type" # WARNING_FILTER += allow class="Inappropriate Cast Type" # WARNING_FILTER += allow class="Inappropriate Cast Type: Expression" # WARNING_FILTER += allow class="Inappropriate Character Arithmetic" # WARNING_FILTER += allow class="Inappropriate Declaration in Global Namespace" # WARNING_FILTER += allow class="Inappropriate Operand Type" +# WARNING_FILTER += allow class="Inappropriate Selection Type in C Generic" # WARNING_FILTER += allow class="Inappropriate Test of Error Code" # WARNING_FILTER += allow class="Incomplete Function Prototype" # WARNING_FILTER += allow class="Inconsistent Enumerator Initialization" # WARNING_FILTER += allow class="Inconsistent Function Declarations" +# WARNING_FILTER += allow class="Inconsistent Macro Parameter Expansion in C Generic" # WARNING_FILTER += allow class="Inconsistent Object Declarations" +# WARNING_FILTER += allow class="Inconsistent Types of Arguments to Macro" # WARNING_FILTER += allow class="Indeterminate Order of Evaluation" # WARNING_FILTER += allow class="Initialization Cycle" # WARNING_FILTER += allow class="Inline Assembly Code" @@ -4489,6 +4502,7 @@ # WARNING_FILTER += allow class="Microsoft Extension" # WARNING_FILTER += allow class="Mismatched Argument Types" # WARNING_FILTER += allow class="Mismatched Operand Types" +# WARNING_FILTER += allow class="Misplaced Default Association in C Generic" # WARNING_FILTER += allow class="Misplaced Return Statement" # WARNING_FILTER += allow class="Misplaced Using Declaration" # WARNING_FILTER += allow class="Misplaced case" @@ -4500,6 +4514,7 @@ # WARNING_FILTER += allow class="Missing Literal Suffix" # WARNING_FILTER += allow class="Missing Lock Acquisition" # WARNING_FILTER += allow class="Missing Lock Release" +# WARNING_FILTER += allow class="Missing Non-default Association in C Generic" # WARNING_FILTER += allow class="Missing Parentheses" # WARNING_FILTER += allow class="Missing Test of Error Code" # WARNING_FILTER += allow class="Missing break" @@ -4551,6 +4566,7 @@ # WARNING_FILTER += allow class="Pointer Before Beginning of Object" # WARNING_FILTER += allow class="Pointer Past End of Object" # WARNING_FILTER += allow class="Pointer Type Inside Typedef" +# WARNING_FILTER += allow class="Pointer to Variably-modified Array Type" # WARNING_FILTER += allow class="Possible Anti-Debugging" # WARNING_FILTER += allow class="Potential Timebomb" # WARNING_FILTER += allow class="Potential Unbounded Loop" @@ -4563,6 +4579,8 @@ # WARNING_FILTER += allow class="Risky Integer Promotion" # WARNING_FILTER += allow class="Scope Could Be File Static" # WARNING_FILTER += allow class="Scope Could Be Local Static" +# WARNING_FILTER += allow class="Selection in C Generic not Expanded from Macro Parameters" +# WARNING_FILTER += allow class="Side Effects in C Generic Selection" # WARNING_FILTER += allow class="Side Effects in Expression with Decrement" # WARNING_FILTER += allow class="Side Effects in Expression with Increment" # WARNING_FILTER += allow class="Side Effects in Initializer List" @@ -4618,6 +4636,7 @@ # WARNING_FILTER += allow class="Use of " # WARNING_FILTER += allow class="Use of " # WARNING_FILTER += allow class="Use of Feature" +# WARNING_FILTER += allow class="Use of Small Integer Constant Macro" # 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" @@ -4791,6 +4810,7 @@ # WARNING_FILTER += allow class="Virtual Base Class not In Diamond" # WARNING_FILTER += allow class="Virtual Base Class" # WARNING_FILTER += allow class="Virtual and Non-Virtual Base Class" +# WARNING_FILTER += allow class="Void C Atomic" # WARNING_FILTER += allow class="Warnings Not Treated As Errors" # WARNING_FILTER += allow class="Weak Cryptography" # WARNING_FILTER += allow class="Write to Read Only File" @@ -5301,7 +5321,7 @@ # string match. # # The $str$Class_Name form used in some of the BAD_FUNCTION_MESSAGE -# factory settings is for internal GrammaTech use. Do not imitate +# factory settings is for internal CodeSecure use. Do not imitate # this format: specify plain class names as shown in the examples # above. @@ -6060,11 +6080,12 @@ BAD_FUNCTION_BASE_RANK = 1.0 BAD_FUNCTION_SIGNIFICANCE = SECURITY -## #### The following functions and macros are forbidden by Misra C 2012 1.4. +## #### The following functions are forbidden by Misra C 2012 1.4. ## The Misra specification refers to Annex K. I gleaned the list of functions, ## types and macros from https://open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf. ## Note that the categories, rank, and significance are all specified in the ## manifest. +## See also BAD_MACRO_* BAD_FUNCTION_REGEX = ^tmpfile_s$ BAD_FUNCTION_MESSAGE = Use of tmpfile_s @@ -6273,14 +6294,8 @@ BAD_FUNCTION_REGEX = ^localtime_s$ BAD_FUNCTION_MESSAGE = Use of localtime_s +###### End of bad functions forbidden by Misra C 2012 1.4 -BAD_MACRO_CLASS = Use of L_tmpnam_s -BAD_MACRO_NAME = ^(L_tmpnam_s)$ - -BAD_MACRO_CLASS = Use of TMP_MAX_S -BAD_MACRO_NAME = ^(TMP_MAX_S)$ - -###### End of bad functions and macros forbidden by Misra C 2012 1.4 # Parameter PLUGINS # @@ -6329,7 +6344,7 @@ # CodeSonar SaaS Note: If you are using CodeSonar SaaS, PLUGINS can # only be used to load plug-ins that were shipped with CodeSonar in # directory $GTHOME/plugins. To install other plug-ins, including -# any custom plug-ins you have created, contact GrammaTech support +# any custom plug-ins you have created, contact CodeSecure support # for assistance. @@ -6451,7 +6466,7 @@ # [doc/html/API/CoreAPI.html#impls]. # # Below is a small sample plug-in. -# import com.grammatech.cs.*; +# import com.codesecure.cs.*; # import java.lang.*; # # class echo_point_visitor extends point_visitor{ @@ -6484,7 +6499,7 @@ # JAVA_PLUGIN_CLASSES can only be used to load plug-ins that were # shipped with CodeSonar in directory $GTHOME/plugins. To install # other plug-ins, including any custom plug-ins you have created, -# contact GrammaTech support for assistance. +# contact CodeSecure support for assistance. @@ -6588,7 +6603,7 @@ # CSHARP_PLUGINS can only be used to load plug-ins that were # shipped with CodeSonar in directory $GTHOME/plugins. To install # other plug-ins, including any custom plug-ins you have created, -# contact GrammaTech support for assistance. +# contact CodeSecure support for assistance. # ## CSHARP_PLUGINS += h:\pluginassembly.dll @@ -13076,7 +13091,7 @@ # characters. However, some approximations that occur as a # consequence of using this can backfire when a single memory # region contains multiple zeroes. It is not recommended that users -# alter this unless advised to do so by GrammaTech. +# alter this unless advised to do so by CodeSecure. # NULL_SENTINEL_CHAR_SIZE = 1 @@ -13641,7 +13656,7 @@ # # Notes # This is an experimental feature and more work is necessary on -# GrammaTech's part to eliminate false positives in this area. The +# CodeSecure's part to eliminate false positives in this area. The # natural language explanation of existing warnings may also # degrade as a consequence of enabling this setting. # @@ -13986,7 +14001,142 @@ # Tags # - ANALYSIS_FILTER: Analysis-Side Filtering # +# - WC_ALLOC.SIZE.ADDOFLOW: Used by Addition Overflow of Allocation +# Size +# - WC_MISC.MEM.SIZE.ADDOFLOW: Used by Addition Overflow of Size +# - WC_MATH.DOMAIN.ATAN: Used by Arctangent Domain Error +# - WC_MATH.DOMAIN.TOOHIGH: Used by Argument Too High +# - WC_MATH.DOMAIN.TOOLOW: Used by Argument Too Low +# - WC_LANG.MEM.BO: Used by Buffer Overrun +# - WC_LANG.MEM.BU: Used by Buffer Underrun +# - WC_LANG.CAST.VALUE: Used by Cast Alters Value +# - WC_LANG.CAST.COERCE: Used by Coercion Alters Value +# - WC_IO.INJ.COMMAND: Used by Command Injection +# - WC_LANG.STRUCT.CUP: Used by Comparison of Unrelated Pointers +# - WC_CONCURRENCY.LOCK.ORDER: Used by Conflicting Lock Order +# - WC_CONCURRENCY.DATARACE: Used by Data Race +# - WC_CONCURRENCY.DEADLOCK: Used by Deadlock +# - WC_LANG.ARITH.DIVZERO: Used by Division By Zero +# - WC_IO.DC: Used by Double Close +# - WC_ALLOC.DF: Used by Double Free +# - WC_ALLOC.DI: Used by Double Initialization +# - WC_CONCURRENCY.DL: Used by Double Lock +# - WC_CONCURRENCY.DU: Used by Double Unlock +# - WC_MISC.CRYPTO.NOPAD: Used by Encryption without Padding +# - WC_IO.BRAW: Used by File Open for Both Read and Write +# - WC_IO.RACE: Used by File System Race Condition +# - WC_LANG.ARITH.FDIVZERO: Used by Float Division By Zero +# - WC_MISC.FMT: Used by Format String +# - WC_IO.INJ.FMT: Used by Format String Injection +# - WC_MISC.FMTTYPE: Used by Format String Type Error +# - WC_ALLOC.TM: Used by Type Mismatch +# - WC_ALLOC.TM: Used by Type Mismatch +# - WC_ALLOC.TM: Used by Type Mismatch +# - WC_HARDCODED.AUTH: Used by Hardcoded Authentication +# - WC_HARDCODED.KEY: Used by Hardcoded Crypto Key +# - WC_HARDCODED.SALT: Used by Hardcoded Crypto Salt +# - WC_HARDCODED.SEED: Used by Hardcoded Seed in PRNG +# - WC_LANG.FUNCS.IRV: Used by Ignored Return Value +# - WC_CONCURRENCY.C_ATOMIC.INIT: Used by Inappropriate C Atomic +# Initialization +# - WC_IO.IOWOP: Used by Input After Output Without Positioning +# - WC_ALLOC.SIZE.IOFLOW: Used by Integer Overflow of Allocation +# Size +# - WC_IO.INJ.LDAP: Used by LDAP Injection +# - WC_ALLOC.LEAK: Used by Leak # - WC_LANG.ID.NU.LIBFN: Used by Library Function Override +# - WC_IO.INJ.LIB: Used by Library Injection +# - WC_CONCURRENCY.LOCALARG: Used by Local Variable Passed to +# Thread +# - WC_ALLOC.TM: Used by Type Mismatch +# - WC_ALLOC.TM: Used by Type Mismatch +# - WC_ALLOC.TM: Used by Type Mismatch +# - WC_CONCURRENCY.LOCK.MISMATCH: Used by Lock/Unlock Mismatch +# - WC_CONCURRENCY.LOCK.TWICE: Used by Locked Twice +# - WC_MATH.DOMAIN.LOG: Used by Logarithm on Negative Value +# - WC_MATH.RANGE.LOG: Used by Logarithm on Zero +# - WC_MISC.PATHLENGTH: Used by MAX_PATH Exceeded +# - WC_MISC.MEM.PROT: Used by Memory Protection Removal +# - WC_ALLOC.MO: Used by Misaligned Object +# - WC_CONCURRENCY.LOCK.NOLOCK: Used by Missing Lock Acquisition +# - WC_CONCURRENCY.LOCK.NOUNLOCK: Used by Missing Lock Release +# - WC_LANG.STRUCT.MRS: Used by Missing Return Statement +# - WC_ALLOC.SIZE.MULOFLOW: Used by Multiplication Overflow of +# Allocation Size +# - WC_MISC.MEM.SIZE.MULOFLOW: Used by Multiplication Overflow of +# Size +# - WC_LANG.ARITH.NEGSHIFT: Used by Negative Shift Amount +# - WC_IO.NEGFD: Used by Negative file descriptor +# - WC_CONCURRENCY.LOCK.NESTED: Used by Nested Locks +# - WC_MISC.MEM.NTERM: Used by No Space For Null Terminator +# - WC_LANG.ERRCODE.NZ: Used by Non-zero Error Code +# - WC_LANG.MEM.NPD: Used by Null Pointer Dereference +# - WC_MISC.NULLDACL: Used by Null Security Descriptor +# - WC_LANG.STRUCT.NTAD: Used by Null Test After Dereference +# - WC_IO.OIWOP: Used by Output After Input Without Positioning +# - WC_MISC.MEM.OR: Used by Overlapping Memory Regions +# - WC_MISC.PWD.PLAIN: Used by Plaintext Storage of Password +# - WC_MISC.PWD.PLAINTRAN: Used by Plaintext Transmission of +# Password +# - WC_LANG.STRUCT.PBB: Used by Pointer Before Beginning of Object +# - WC_LANG.STRUCT.PPE: Used by Pointer Past End of Object +# - WC_ALLOC.TM: Used by Type Mismatch +# - WC_MISC.TIMEBOMB: Used by Potential Timebomb +# - WC_LANG.STRUCT.LOOP.UB: Used by Potential Unbounded Loop +# - WC_MISC.CRYPTO.TIMESEED: Used by Predictable Seed in PRNG +# - WC_MATH.DOMAIN.FE_INVALID: Used by Raises FE_INVALID +# - WC_MISC.MEM.RPNT: Used by Read Past Null Terminator +# - WC_LANG.STRUCT.RC: Used by Redundant Condition +# - WC_ALLOC.RPF: Used by Return Pointer to Freed +# - WC_LANG.STRUCT.RPL: Used by Return Pointer to Local +# - WC_LANG.STRUCT.RFCESH: Used by Return from Computational +# Exception Signal Handler +# - WC_IO.INJ.SQL: Used by SQL Injection +# - WC_LANG.ARITH.BIGSHIFT: Used by Shift Amount Exceeds Bit Width +# - WC_DIAG.SIGHAND.ENTRY: Used by Signal Handler Entry Point +# - WC_IO.SOCK.STATE: Used by Socket In Wrong State +# - WC_ALLOC.SIZE.SUBUFLOW: Used by Subtraction Underflow of +# Allocation Size +# - WC_MISC.MEM.SIZE.SUBUFLOW: Used by Subtraction Underflow of +# Size +# - WC_LANG.STRUCT.SUP: Used by Subtraction of Unrelated Pointers +# - WC_IO.TAINT.SIZE: Used by Tainted Allocation Size +# - WC_LANG.MEM.TBA: Used by Tainted Buffer Access +# - WC_IO.TAINT.CONF: Used by Tainted Configuration Setting +# - WC_IO.TAINT.ENV: Used by Tainted Environment Variable +# - WC_IO.TAINT.FNAME: Used by Tainted Filename +# - WC_IO.TAINT.ADDR: Used by Tainted Network Address +# - WC_IO.TAINT.WRITE: Used by Tainted Write +# - WC_CONCURRENCY.TNJ: Used by Thread is not Joinable +# - WC_ALLOC.SIZE.TRUNC: Used by Truncation of Allocation Size +# - WC_MISC.MEM.SIZE.TRUNC: Used by Truncation of Size +# - WC_CONCURRENCY.TL: Used by Try-lock that will never succeed +# - WC_ALLOC.TM: Used by Type Mismatch +# - WC_LANG.MEM.TO: Used by Type Overrun +# - WC_LANG.MEM.TU: Used by Type Underrun +# - WC_LANG.STRUCT.UPD: Used by Unchecked Parameter Dereference +# - WC_MATH.DOMAIN.POW: Used by Undefined Power of Zero +# - WC_LANG.MEM.UVAR: Used by Uninitialized Variable +# - WC_CONCURRENCY.LOCK.UNKNOWN: Used by Unknown Lock +# - WC_MISC.MEM.SIZE.BAD: Used by Unreasonable Size Argument +# - WC_MISC.MEM.NTERM.CSTRING: Used by Unterminated C String +# - WC_IO.UT.LIB: Used by Untrusted Library Load +# - WC_IO.UT.HOST: Used by Untrusted Network Host +# - WC_IO.UT.PORT: Used by Untrusted Network Port +# - WC_IO.UT.PROC: Used by Untrusted Process Creation +# - WC_LANG.STRUCT.UUVAL: Used by Unused Value +# - WC_IO.UAC: Used by Use After Close +# - WC_ALLOC.UAF: Used by Use After Free +# - WC_IO.SOCK.REUSE: Used by Use of SO_REUSEADDR +# - WC_LANG.STRUCT.UA: Used by Useless Assignment +# - WC_LANG.STRUCT.VCALL_IN_CTOR: Used by Virtual Call in +# Constructor +# - WC_LANG.STRUCT.VCALL_IN_DTOR: Used by Virtual Call in +# Destructor +# - WC_IO.WRITERO: Used by Write to Read Only File +# - WC_MATH.RANGE.COSH.TOOHIGH: Used by cosh on High Number +# - WC_MATH.RANGE.COSH.TOOLOW: Used by cosh on Low Number +# - WC_MATH.DOMAIN.SQRT: Used by sqrt on Negative Value # # Type # string @@ -14007,7 +14157,130 @@ # Checks for the following warning classes will always be excluded # from files matching any of these paths. # +# - Addition Overflow of Allocation Size +# - Addition Overflow of Size +# - Arctangent Domain Error +# - Argument Too High +# - Argument Too Low +# - Buffer Overrun +# - Buffer Underrun +# - Cast Alters Value +# - Coercion Alters Value +# - Command Injection +# - Comparison of Unrelated Pointers +# - Conflicting Lock Order +# - Data Race +# - Deadlock +# - Division By Zero +# - Double Close +# - Double Free +# - Double Initialization +# - Double Lock +# - Double Unlock +# - Encryption without Padding +# - File Open for Both Read and Write +# - File System Race Condition +# - Float Division By Zero +# - Format String +# - Format String Injection +# - Format String Type Error +# - Type Mismatch +# - Type Mismatch +# - Type Mismatch +# - Hardcoded Authentication +# - Hardcoded Crypto Key +# - Hardcoded Crypto Salt +# - Hardcoded Seed in PRNG +# - Ignored Return Value +# - Inappropriate C Atomic Initialization +# - Input After Output Without Positioning +# - Integer Overflow of Allocation Size +# - LDAP Injection +# - Leak # - Library Function Override +# - Library Injection +# - Local Variable Passed to Thread +# - Type Mismatch +# - Type Mismatch +# - Type Mismatch +# - Lock/Unlock Mismatch +# - Locked Twice +# - Logarithm on Negative Value +# - Logarithm on Zero +# - MAX_PATH Exceeded +# - Memory Protection Removal +# - Misaligned Object +# - Missing Lock Acquisition +# - Missing Lock Release +# - Missing Return Statement +# - Multiplication Overflow of Allocation Size +# - Multiplication Overflow of Size +# - Negative Shift Amount +# - Negative file descriptor +# - Nested Locks +# - No Space For Null Terminator +# - Non-zero Error Code +# - Null Pointer Dereference +# - Null Security Descriptor +# - Null Test After Dereference +# - Output After Input Without Positioning +# - Overlapping Memory Regions +# - Plaintext Storage of Password +# - Plaintext Transmission of Password +# - Pointer Before Beginning of Object +# - Pointer Past End of Object +# - Type Mismatch +# - Potential Timebomb +# - Potential Unbounded Loop +# - Predictable Seed in PRNG +# - Raises FE_INVALID +# - Read Past Null Terminator +# - Redundant Condition +# - Return Pointer to Freed +# - Return Pointer to Local +# - Return from Computational Exception Signal Handler +# - SQL Injection +# - Shift Amount Exceeds Bit Width +# - Signal Handler Entry Point +# - Socket In Wrong State +# - Subtraction Underflow of Allocation Size +# - Subtraction Underflow of Size +# - Subtraction of Unrelated Pointers +# - Tainted Allocation Size +# - Tainted Buffer Access +# - Tainted Configuration Setting +# - Tainted Environment Variable +# - Tainted Filename +# - Tainted Network Address +# - Tainted Write +# - Thread is not Joinable +# - Truncation of Allocation Size +# - Truncation of Size +# - Try-lock that will never succeed +# - Type Mismatch +# - Type Overrun +# - Type Underrun +# - Unchecked Parameter Dereference +# - Undefined Power of Zero +# - Uninitialized Variable +# - Unknown Lock +# - Unreasonable Size Argument +# - Unterminated C String +# - Untrusted Library Load +# - Untrusted Network Host +# - Untrusted Network Port +# - Untrusted Process Creation +# - Unused Value +# - Use After Close +# - Use After Free +# - Use of SO_REUSEADDR +# - Useless Assignment +# - Virtual Call in Constructor +# - Virtual Call in Destructor +# - Write to Read Only File +# - cosh on High Number +# - cosh on Low Number +# - sqrt on Negative Value # # WARNING_FILTER discard rules can specify is_sysinclude to match # warnings whose Listing XML lies entirely within system include @@ -16369,6 +16642,21 @@ BAD_MACRO_BASE_RANK = 1.0 BAD_MACRO_SIGNIFICANCE = SECURITY +BAD_MACRO_CLASS = Use of Small Integer Constant Macro +BAD_MACRO_NAME = ^U?(INT8_C|INT16_C)$ +BAD_MACRO_FILENAME = stdint.h + + +## The following macros are forbidden by Misra C 2012 1.4. + +BAD_MACRO_CLASS = Use of L_tmpnam_s +BAD_MACRO_NAME = ^(L_tmpnam_s)$ + +BAD_MACRO_CLASS = Use of TMP_MAX_S +BAD_MACRO_NAME = ^(TMP_MAX_S)$ + +###### End of bad macros forbidden by Misra C 2012 1.4 + # Parameter SIDE_EFFECT_FREE_FUNCTIONS # # Purpose @@ -16385,6 +16673,8 @@ # - WC_LANG.STRUCT.SE.LOGIC: Used by Side Effects in Logical # Operand # - WC_LANG.STRUCT.SE.SIZEOF: Used by Side Effects in sizeof +# - WC_LANG.STRUCT.SE.CGEN: Used by Side Effects in C Generic +# Selection # # Type # Boost 'POSIX Extended Regular Expression' @@ -16399,6 +16689,7 @@ # - Side Effects in Initializer List # - Side Effects in Logical Operand # - Side Effects in sizeof +# - Side Effects in C Generic Selection # # Notes # It is impossible to know precisely which functions have side @@ -17228,7 +17519,7 @@ # Notes # The Essential Type Diagnostic warning class is only only useful # for debugging purposes. Its use is not recommended unless -# explicitly directed by GrammaTech support. +# explicitly directed by CodeSecure support. # # A Essential Type Diagnostic warning is issued for every # expression. In all but the most trivial programs, there are a