GitHub
CERT Secure Coding

Helix QAC

This page was automatically generated and should not be edited.

The information on this page was provided by outside contributors and has not been verified by SEI CERT.

The table below can be re-ordered, by clicking column headers.

Tool Version: 2025.2

CheckerGuideline
0322MSC00-C. Compile cleanly at high warning levels
1125MSC00-C. Compile cleanly at high warning levels
C0160MSC15-C. Do not depend on undefined behavior
C0161FIO47-C. Use valid format strings
C0161MSC15-C. Do not depend on undefined behavior
C0162FIO47-C. Use valid format strings
C0162MSC15-C. Do not depend on undefined behavior
C0163FIO47-C. Use valid format strings
C0163MSC15-C. Do not depend on undefined behavior
C0164FIO47-C. Use valid format strings
C0164MSC15-C. Do not depend on undefined behavior
C0165FIO47-C. Use valid format strings
C0165MSC15-C. Do not depend on undefined behavior
C0166FIO47-C. Use valid format strings
C0166MSC15-C. Do not depend on undefined behavior
C0167FIO47-C. Use valid format strings
C0167MSC15-C. Do not depend on undefined behavior
C0168FIO47-C. Use valid format strings
C0168MSC15-C. Do not depend on undefined behavior
C0169FIO47-C. Use valid format strings
C0169MSC15-C. Do not depend on undefined behavior
C0170FIO47-C. Use valid format strings
C0170MSC15-C. Do not depend on undefined behavior
C0171FIO47-C. Use valid format strings
C0171MSC15-C. Do not depend on undefined behavior
C0172FIO47-C. Use valid format strings
C0172MSC15-C. Do not depend on undefined behavior
C0173FIO47-C. Use valid format strings
C0173MSC15-C. Do not depend on undefined behavior
C0174FIO47-C. Use valid format strings
C0174MSC15-C. Do not depend on undefined behavior
C0175FIO47-C. Use valid format strings
C0175MSC15-C. Do not depend on undefined behavior
C0176FIO47-C. Use valid format strings
C0176MSC15-C. Do not depend on undefined behavior
C0177FIO47-C. Use valid format strings
C0177MSC15-C. Do not depend on undefined behavior
C0178FIO47-C. Use valid format strings
C0178MSC15-C. Do not depend on undefined behavior
C0179FIO47-C. Use valid format strings
C0179DCL11-C. Understand the type issues associated with variadic functions
C0179MSC15-C. Do not depend on undefined behavior
C0180FIO47-C. Use valid format strings
C0184FIO47-C. Use valid format strings
C0184DCL10-C. Maintain the contract between the writer and caller of variadic functions
C0184DCL11-C. Understand the type issues associated with variadic functions
C0184MSC15-C. Do not depend on undefined behavior
C0185FIO47-C. Use valid format strings
C0185DCL10-C. Maintain the contract between the writer and caller of variadic functions
C0185DCL11-C. Understand the type issues associated with variadic functions
C0185MSC15-C. Do not depend on undefined behavior
C0186DCL11-C. Understand the type issues associated with variadic functions
C0186MSC15-C. Do not depend on undefined behavior
C0190FIO47-C. Use valid format strings
C0190DCL11-C. Understand the type issues associated with variadic functions
C0190MSC15-C. Do not depend on undefined behavior
C0191FIO47-C. Use valid format strings
C0191DCL11-C. Understand the type issues associated with variadic functions
C0191MSC15-C. Do not depend on undefined behavior
C0192FIO47-C. Use valid format strings
C0192DCL11-C. Understand the type issues associated with variadic functions
C0192MSC15-C. Do not depend on undefined behavior
C0193FIO47-C. Use valid format strings
C0193DCL11-C. Understand the type issues associated with variadic functions
C0193MSC15-C. Do not depend on undefined behavior
C0194FIO47-C. Use valid format strings
C0194DCL11-C. Understand the type issues associated with variadic functions
C0194MSC15-C. Do not depend on undefined behavior
C0195FIO47-C. Use valid format strings
C0195DCL11-C. Understand the type issues associated with variadic functions
C0195MSC15-C. Do not depend on undefined behavior
C0196FIO47-C. Use valid format strings
C0196DCL11-C. Understand the type issues associated with variadic functions
C0196MSC15-C. Do not depend on undefined behavior
C0197FIO47-C. Use valid format strings
C0197DCL11-C. Understand the type issues associated with variadic functions
C0197MSC15-C. Do not depend on undefined behavior
C0198FIO47-C. Use valid format strings
C0198DCL11-C. Understand the type issues associated with variadic functions
C0198MSC15-C. Do not depend on undefined behavior
C0199FIO47-C. Use valid format strings
C0199DCL11-C. Understand the type issues associated with variadic functions
C0199MSC15-C. Do not depend on undefined behavior
C0200FIO47-C. Use valid format strings
C0200DCL11-C. Understand the type issues associated with variadic functions
C0200MSC15-C. Do not depend on undefined behavior
C0201FIO47-C. Use valid format strings
C0201DCL11-C. Understand the type issues associated with variadic functions
C0201MSC15-C. Do not depend on undefined behavior
C0202FIO47-C. Use valid format strings
C0202MSC14-C. Do not introduce unnecessary platform dependencies
C0203MSC15-C. Do not depend on undefined behavior
C0204FIO47-C. Use valid format strings
C0204MSC15-C. Do not depend on undefined behavior
C0206FIO47-C. Use valid format strings
C0206DCL11-C. Understand the type issues associated with variadic functions
C0206MSC15-C. Do not depend on undefined behavior
C0207DCL11-C. Understand the type issues associated with variadic functions
C0207MSC15-C. Do not depend on undefined behavior
C0208DCL11-C. Understand the type issues associated with variadic functions
C0208MSC15-C. Do not depend on undefined behavior
C0209FIO47-C. Use valid format strings
C0232MSC40-C. Do not violate constraints
C0232MSC00-C. Compile cleanly at high warning levels
C0233MSC40-C. Do not violate constraints
C0233MSC00-C. Compile cleanly at high warning levels
C0235MSC15-C. Do not depend on undefined behavior
C0240MSC14-C. Do not introduce unnecessary platform dependencies
C0241MSC14-C. Do not introduce unnecessary platform dependencies
C0242MSC14-C. Do not introduce unnecessary platform dependencies
C0243MSC14-C. Do not introduce unnecessary platform dependencies
C0244MSC40-C. Do not violate constraints
C0244MSC00-C. Compile cleanly at high warning levels
C0246MSC14-C. Do not introduce unnecessary platform dependencies
C0268MSC40-C. Do not violate constraints
C0268MSC00-C. Compile cleanly at high warning levels
C0275FLP00-C. Understand the limitations of floating-point numbers
C0275MSC15-C. Do not depend on undefined behavior
C0284MSC14-C. Do not introduce unnecessary platform dependencies
C0285MSC09-C. Character encoding: Use subset of ASCII for safety
C0286MSC09-C. Character encoding: Use subset of ASCII for safety
C0287MSC09-C. Character encoding: Use subset of ASCII for safety
C0288MSC09-C. Character encoding: Use subset of ASCII for safety
C0289MSC09-C. Character encoding: Use subset of ASCII for safety
C0299MSC09-C. Character encoding: Use subset of ASCII for safety
C0301MSC15-C. Do not depend on undefined behavior
C0302MSC15-C. Do not depend on undefined behavior
C0303INT36-C. Converting a pointer to integer or integer to pointer
C0304ARR00-C. Understand how arrays work
C0304MSC15-C. Do not depend on undefined behavior
C0305INT36-C. Converting a pointer to integer or integer to pointer
C0306INT36-C. Converting a pointer to integer or integer to pointer
C0307MSC15-C. Do not depend on undefined behavior
C0309INT36-C. Converting a pointer to integer or integer to pointer
C0309MSC15-C. Do not depend on undefined behavior
C0310EXP39-C. Do not access a variable through a pointer of an incompatible type
C0310EXP11-C. Do not make assumptions regarding the layout of structures with bit-fields
C0311EXP05-C. Do not cast away a const qualification
C0312EXP32-C. Do not access a volatile object through a nonvolatile reference
C0321MSC40-C. Do not violate constraints
C0321MSC00-C. Compile cleanly at high warning levels
C0322MSC40-C. Do not violate constraints
C0323MSC00-C. Compile cleanly at high warning levels
C0323MSC15-C. Do not depend on undefined behavior
C0324INT36-C. Converting a pointer to integer or integer to pointer
C0326EXP36-C. Do not cast pointers into more strictly aligned pointer types
C0326INT36-C. Converting a pointer to integer or integer to pointer
C0327MSC00-C. Compile cleanly at high warning levels
C0327MSC15-C. Do not depend on undefined behavior
C0337MSC15-C. Do not depend on undefined behavior
C0338MSC40-C. Do not violate constraints
C0338MSC00-C. Compile cleanly at high warning levels
C0339DCL18-C. Do not begin integer constants with 0 when specifying a decimal value
C0341PRE05-C. Understand macro replacement when concatenating tokens or performing stringification
C0342PRE05-C. Understand macro replacement when concatenating tokens or performing stringification
C0360INT36-C. Converting a pointer to integer or integer to pointer
C0361INT36-C. Converting a pointer to integer or integer to pointer
C0362INT36-C. Converting a pointer to integer or integer to pointer
C0400EXP30-C. Do not depend on the order of evaluation for side effects
C0400EXP10-C. Do not depend on the order of evaluation of subexpressions or the order in which side effects take place
C0400MSC15-C. Do not depend on undefined behavior
C0401EXP30-C. Do not depend on the order of evaluation for side effects
C0401EXP10-C. Do not depend on the order of evaluation of subexpressions or the order in which side effects take place
C0401MSC15-C. Do not depend on undefined behavior
C0402EXP30-C. Do not depend on the order of evaluation for side effects
C0402EXP10-C. Do not depend on the order of evaluation of subexpressions or the order in which side effects take place
C0402MSC15-C. Do not depend on undefined behavior
C0403EXP30-C. Do not depend on the order of evaluation for side effects
C0403EXP10-C. Do not depend on the order of evaluation of subexpressions or the order in which side effects take place
C0403MSC15-C. Do not depend on undefined behavior
C0404EXP30-C. Do not depend on the order of evaluation for side effects
C0404EXP10-C. Do not depend on the order of evaluation of subexpressions or the order in which side effects take place
C0405EXP30-C. Do not depend on the order of evaluation for side effects
C0405EXP10-C. Do not depend on the order of evaluation of subexpressions or the order in which side effects take place
C0422MSC40-C. Do not violate constraints
C0422MSC00-C. Compile cleanly at high warning levels
C0423MSC40-C. Do not violate constraints
C0423MSC00-C. Compile cleanly at high warning levels
C0426MSC40-C. Do not violate constraints
C0426MSC00-C. Compile cleanly at high warning levels
C0427MSC40-C. Do not violate constraints
C0427MSC00-C. Compile cleanly at high warning levels
C0428EXP16-C. Do not compare function pointers to constant values
C0429MSC40-C. Do not violate constraints
C0429MSC00-C. Compile cleanly at high warning levels
C0430MSC40-C. Do not violate constraints
C0430MSC00-C. Compile cleanly at high warning levels
C0431MSC40-C. Do not violate constraints
C0431DCL13-C. Declare function parameters that are pointers to values not changed by the function as const
C0431EXP05-C. Do not cast away a const qualification
C0431MSC00-C. Compile cleanly at high warning levels
C0432STR38-C. Do not confuse narrow and wide character strings and functions
C0432MSC40-C. Do not violate constraints
C0432MSC00-C. Compile cleanly at high warning levels
C0432STR04-C. Use plain char for characters in the basic character set
C0434DCL31-C. Declare identifiers before using them
C0435MSC40-C. Do not violate constraints
C0435MSC00-C. Compile cleanly at high warning levels
C0436MSC40-C. Do not violate constraints
C0436MSC00-C. Compile cleanly at high warning levels
C0437MSC40-C. Do not violate constraints
C0437MSC00-C. Compile cleanly at high warning levels
C0446MSC40-C. Do not violate constraints
C0446MSC00-C. Compile cleanly at high warning levels
C0447MSC40-C. Do not violate constraints
C0447MSC00-C. Compile cleanly at high warning levels
C0448MSC40-C. Do not violate constraints
C0448MSC00-C. Compile cleanly at high warning levels
C0449MSC40-C. Do not violate constraints
C0449MSC00-C. Compile cleanly at high warning levels
C0450EXP35-C. Do not modify objects with temporary lifetime
C0450ARR00-C. Understand how arrays work
C0451MSC40-C. Do not violate constraints
C0451MSC00-C. Compile cleanly at high warning levels
C0452MSC40-C. Do not violate constraints
C0452MSC00-C. Compile cleanly at high warning levels
C0453MSC40-C. Do not violate constraints
C0453ARR00-C. Understand how arrays work
C0453MSC00-C. Compile cleanly at high warning levels
C0454MSC40-C. Do not violate constraints
C0454MSC00-C. Compile cleanly at high warning levels
C0455EXP35-C. Do not modify objects with temporary lifetime
C0455ARR00-C. Understand how arrays work
C0456MSC40-C. Do not violate constraints
C0456MSC00-C. Compile cleanly at high warning levels
C0457MSC40-C. Do not violate constraints
C0457MSC00-C. Compile cleanly at high warning levels
C0458MSC40-C. Do not violate constraints
C0458MSC00-C. Compile cleanly at high warning levels
C0459EXP35-C. Do not modify objects with temporary lifetime
C0459ARR00-C. Understand how arrays work
C0460MSC40-C. Do not violate constraints
C0460MSC00-C. Compile cleanly at high warning levels
C0461MSC40-C. Do not violate constraints
C0461MSC00-C. Compile cleanly at high warning levels
C0462MSC40-C. Do not violate constraints
C0462MSC00-C. Compile cleanly at high warning levels
C0463MSC40-C. Do not violate constraints
C0463MSC00-C. Compile cleanly at high warning levels
C0464EXP35-C. Do not modify objects with temporary lifetime
C0464ARR00-C. Understand how arrays work
C0465EXP35-C. Do not modify objects with temporary lifetime
C0465ARR00-C. Understand how arrays work
C0466MSC40-C. Do not violate constraints
C0466MSC00-C. Compile cleanly at high warning levels
C0467MSC40-C. Do not violate constraints
C0467MSC00-C. Compile cleanly at high warning levels
C0468MSC40-C. Do not violate constraints
C0468MSC00-C. Compile cleanly at high warning levels
C0469MSC40-C. Do not violate constraints
C0469MSC00-C. Compile cleanly at high warning levels
C0475MSC15-C. Do not depend on undefined behavior
C0476MSC40-C. Do not violate constraints
C0476MSC00-C. Compile cleanly at high warning levels
C0477MSC40-C. Do not violate constraints
C0477MSC00-C. Compile cleanly at high warning levels
C0478MSC40-C. Do not violate constraints
C0478MSC00-C. Compile cleanly at high warning levels
C0481MSC40-C. Do not violate constraints
C0481MSC00-C. Compile cleanly at high warning levels
C0482MSC40-C. Do not violate constraints
C0482MSC00-C. Compile cleanly at high warning levels
C0483MSC40-C. Do not violate constraints
C0483MSC00-C. Compile cleanly at high warning levels
C0484MSC40-C. Do not violate constraints
C0484MSC00-C. Compile cleanly at high warning levels
C0485MSC40-C. Do not violate constraints
C0485MSC00-C. Compile cleanly at high warning levels
C0486MSC40-C. Do not violate constraints
C0486MSC00-C. Compile cleanly at high warning levels
C0487ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
C0487MSC40-C. Do not violate constraints
C0487MSC00-C. Compile cleanly at high warning levels
C0488EXP08-C. Ensure pointer arithmetic is used correctly
C0491ARR00-C. Understand how arrays work
C0493MSC40-C. Do not violate constraints
C0493MSC00-C. Compile cleanly at high warning levels
C0494MSC40-C. Do not violate constraints
C0494MSC00-C. Compile cleanly at high warning levels
C0495MSC40-C. Do not violate constraints
C0495MSC00-C. Compile cleanly at high warning levels
C0496MSC40-C. Do not violate constraints
C0496MSC00-C. Compile cleanly at high warning levels
C0497MSC40-C. Do not violate constraints
C0499INT34-C. Do not shift an expression by a negative number of bits or by greater than or equal to the number of bits that exist in the operand
C0513ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
C0513MSC40-C. Do not violate constraints
C0513MSC00-C. Compile cleanly at high warning levels
C0514MSC40-C. Do not violate constraints
C0514MSC00-C. Compile cleanly at high warning levels
C0515MSC40-C. Do not violate constraints
C0515MSC00-C. Compile cleanly at high warning levels
C0536MSC40-C. Do not violate constraints
C0536MSC00-C. Compile cleanly at high warning levels
C0537MSC40-C. Do not violate constraints
C0537MSC00-C. Compile cleanly at high warning levels
C0540MSC40-C. Do not violate constraints
C0540MSC00-C. Compile cleanly at high warning levels
C0541MSC40-C. Do not violate constraints
C0541MSC00-C. Compile cleanly at high warning levels
C0542MSC40-C. Do not violate constraints
C0542MSC00-C. Compile cleanly at high warning levels
C0543MSC15-C. Do not depend on undefined behavior
C0544MSC15-C. Do not depend on undefined behavior
C0545MSC15-C. Do not depend on undefined behavior
C0546MSC40-C. Do not violate constraints
C0546MSC00-C. Compile cleanly at high warning levels
C0547MSC40-C. Do not violate constraints
C0547MSC00-C. Compile cleanly at high warning levels
C0550MSC40-C. Do not violate constraints
C0550MSC00-C. Compile cleanly at high warning levels
C0551MSC14-C. Do not introduce unnecessary platform dependencies
C0554MSC40-C. Do not violate constraints
C0554MSC00-C. Compile cleanly at high warning levels
C0555MSC40-C. Do not violate constraints
C0555MSC00-C. Compile cleanly at high warning levels
C0556STR30-C. Do not attempt to modify string literals
C0556MSC40-C. Do not violate constraints
C0556MSC00-C. Compile cleanly at high warning levels
C0557MSC40-C. Do not violate constraints
C0557MSC00-C. Compile cleanly at high warning levels
C0558MSC40-C. Do not violate constraints
C0558MSC00-C. Compile cleanly at high warning levels
C0559MSC40-C. Do not violate constraints
C0559MSC00-C. Compile cleanly at high warning levels
C0560MSC40-C. Do not violate constraints
C0560MSC00-C. Compile cleanly at high warning levels
C0561MSC40-C. Do not violate constraints
C0561MSC00-C. Compile cleanly at high warning levels
C0562EXP32-C. Do not access a volatile object through a nonvolatile reference
C0562MSC40-C. Do not violate constraints
C0562MSC00-C. Compile cleanly at high warning levels
C0563EXP32-C. Do not access a volatile object through a nonvolatile reference
C0563EXP40-C. Do not modify constant objects
C0563MSC40-C. Do not violate constraints
C0563MSC00-C. Compile cleanly at high warning levels
C0564MSC40-C. Do not violate constraints
C0564MSC00-C. Compile cleanly at high warning levels
C0565MSC40-C. Do not violate constraints
C0565MSC00-C. Compile cleanly at high warning levels
C0580MSC40-C. Do not violate constraints
C0580MSC00-C. Compile cleanly at high warning levels
C0581FLP00-C. Understand the limitations of floating-point numbers
C0581MSC14-C. Do not introduce unnecessary platform dependencies
C0582INT35-C. Use correct integer precisions
C0588MSC40-C. Do not violate constraints
C0588MSC00-C. Compile cleanly at high warning levels
C0589MSC40-C. Do not violate constraints
C0589MSC00-C. Compile cleanly at high warning levels
C0590MSC40-C. Do not violate constraints
C0590ARR00-C. Understand how arrays work
C0590MSC00-C. Compile cleanly at high warning levels
C0591MSC40-C. Do not violate constraints
C0591MSC00-C. Compile cleanly at high warning levels
C0601MSC14-C. Do not introduce unnecessary platform dependencies
C0602DCL37-C. Do not declare or define a reserved identifier
C0602MSC15-C. Do not depend on undefined behavior
C0603DCL37-C. Do not declare or define a reserved identifier
C0603MSC15-C. Do not depend on undefined behavior
C0605MSC40-C. Do not violate constraints
C0605MSC00-C. Compile cleanly at high warning levels
C0616MSC40-C. Do not violate constraints
C0616MSC00-C. Compile cleanly at high warning levels
C0619MSC40-C. Do not violate constraints
C0619MSC00-C. Compile cleanly at high warning levels
C0620MSC40-C. Do not violate constraints
C0620MSC00-C. Compile cleanly at high warning levels
C0621MSC40-C. Do not violate constraints
C0621MSC00-C. Compile cleanly at high warning levels
C0622MSC40-C. Do not violate constraints
C0622MSC00-C. Compile cleanly at high warning levels
C0623MSC15-C. Do not depend on undefined behavior
C0625DCL36-C. Do not declare an identifier with conflicting linkage classifications
C0625MSC15-C. Do not depend on undefined behavior
C0626MSC15-C. Do not depend on undefined behavior
C0627MSC40-C. Do not violate constraints
C0627DCL23-C. Guarantee that mutually visible identifiers are unique
C0627MSC00-C. Compile cleanly at high warning levels
C0628MSC40-C. Do not violate constraints
C0628MSC00-C. Compile cleanly at high warning levels
C0629MSC40-C. Do not violate constraints
C0629MSC00-C. Compile cleanly at high warning levels
C0630MSC15-C. Do not depend on undefined behavior
C0631MSC40-C. Do not violate constraints
C0631MSC00-C. Compile cleanly at high warning levels
C0632MSC15-C. Do not depend on undefined behavior
C0633MSC14-C. Do not introduce unnecessary platform dependencies
C0634INT12-C. Do not make assumptions about the type of a plain int bit-field when used in an expression
C0634MSC14-C. Do not introduce unnecessary platform dependencies
C0634STR00-C. Represent characters using an appropriate type
C0635INT12-C. Do not make assumptions about the type of a plain int bit-field when used in an expression
C0635MSC14-C. Do not introduce unnecessary platform dependencies
C0635STR00-C. Represent characters using an appropriate type
C0636MSC15-C. Do not depend on undefined behavior
C0638MSC40-C. Do not violate constraints
C0638MSC00-C. Compile cleanly at high warning levels
C0640MSC40-C. Do not violate constraints
C0640MSC00-C. Compile cleanly at high warning levels
C0641MSC40-C. Do not violate constraints
C0641MSC00-C. Compile cleanly at high warning levels
C0642MSC40-C. Do not violate constraints
C0642ARR00-C. Understand how arrays work
C0642MSC00-C. Compile cleanly at high warning levels
C0643MSC40-C. Do not violate constraints
C0643MSC00-C. Compile cleanly at high warning levels
C0644MSC40-C. Do not violate constraints
C0644MSC00-C. Compile cleanly at high warning levels
C0645MSC40-C. Do not violate constraints
C0645MSC00-C. Compile cleanly at high warning levels
C0646MSC40-C. Do not violate constraints
C0646MSC00-C. Compile cleanly at high warning levels
C0649MSC40-C. Do not violate constraints
C0649MSC00-C. Compile cleanly at high warning levels
C0650MSC40-C. Do not violate constraints
C0650MSC00-C. Compile cleanly at high warning levels
C0651MSC40-C. Do not violate constraints
C0651MSC00-C. Compile cleanly at high warning levels
C0653MSC40-C. Do not violate constraints
C0653MSC00-C. Compile cleanly at high warning levels
C0654MSC15-C. Do not depend on undefined behavior
C0655MSC40-C. Do not violate constraints
C0655MSC00-C. Compile cleanly at high warning levels
C0656MSC40-C. Do not violate constraints
C0656MSC00-C. Compile cleanly at high warning levels
C0657MSC40-C. Do not violate constraints
C0657MSC00-C. Compile cleanly at high warning levels
C0658MSC15-C. Do not depend on undefined behavior
C0659MSC40-C. Do not violate constraints
C0659MSC00-C. Compile cleanly at high warning levels
C0660MSC14-C. Do not introduce unnecessary platform dependencies
C0661MSC15-C. Do not depend on undefined behavior
C0662MSC14-C. Do not introduce unnecessary platform dependencies
C0664MSC40-C. Do not violate constraints
C0664MSC00-C. Compile cleanly at high warning levels
C0665MSC40-C. Do not violate constraints
C0665MSC00-C. Compile cleanly at high warning levels
C0667MSC15-C. Do not depend on undefined behavior
C0668MSC15-C. Do not depend on undefined behavior
C0669MSC40-C. Do not violate constraints
C0669MSC00-C. Compile cleanly at high warning levels
C0671MSC40-C. Do not violate constraints
C0671MSC00-C. Compile cleanly at high warning levels
C0672MSC15-C. Do not depend on undefined behavior
C0673EXP32-C. Do not access a volatile object through a nonvolatile reference
C0673MSC40-C. Do not violate constraints
C0673MSC00-C. Compile cleanly at high warning levels
C0674EXP32-C. Do not access a volatile object through a nonvolatile reference
C0674MSC40-C. Do not violate constraints
C0674MSC00-C. Compile cleanly at high warning levels
C0674STR04-C. Use plain char for characters in the basic character set
C0675MSC40-C. Do not violate constraints
C0675MSC00-C. Compile cleanly at high warning levels
C0676ARR00-C. Understand how arrays work
C0676MSC15-C. Do not depend on undefined behavior
C0677MSC40-C. Do not violate constraints
C0677ARR00-C. Understand how arrays work
C0677MSC00-C. Compile cleanly at high warning levels
C0678ARR00-C. Understand how arrays work
C0678ARR02-C. Explicitly specify array bounds, even if implicitly defined by an initializer
C0678MSC15-C. Do not depend on undefined behavior
C0680ARR00-C. Understand how arrays work
C0680MSC15-C. Do not depend on undefined behavior
C0682MSC40-C. Do not violate constraints
C0682MSC00-C. Compile cleanly at high warning levels
C0683MSC40-C. Do not violate constraints
C0683MSC00-C. Compile cleanly at high warning levels
C0684MSC40-C. Do not violate constraints
C0684MSC00-C. Compile cleanly at high warning levels
C0685MSC40-C. Do not violate constraints
C0685MSC00-C. Compile cleanly at high warning levels
C0686ARR00-C. Understand how arrays work
C0687ARR00-C. Understand how arrays work
C0688ARR00-C. Understand how arrays work
C0688ARR02-C. Explicitly specify array bounds, even if implicitly defined by an initializer
C0690MSC40-C. Do not violate constraints
C0690MSC00-C. Compile cleanly at high warning levels
C0691ARR00-C. Understand how arrays work
C0695MEM02-C. Immediately cast the result of a memory allocation function call into a pointer to the allocated type
C0696MEM35-C. Allocate sufficient memory for an object
C0697EXP03-C. Do not assume the size of a structure is the sum of the sizes of its members
C0698MSC40-C. Do not violate constraints
C0698MSC00-C. Compile cleanly at high warning levels
C0699MSC40-C. Do not violate constraints
C0699MSC00-C. Compile cleanly at high warning levels
C0699STR04-C. Use plain char for characters in the basic character set
C0701MEM35-C. Allocate sufficient memory for an object
C0701EXP09-C. Use sizeof to determine the size of a type or variable
C0706MSC15-C. Do not depend on undefined behavior
C0708MSC40-C. Do not violate constraints
C0708MSC00-C. Compile cleanly at high warning levels
C0709MSC40-C. Do not violate constraints
C0709MSC00-C. Compile cleanly at high warning levels
C0710ARR00-C. Understand how arrays work
C0711ARR00-C. Understand how arrays work
C0711MSC00-C. Compile cleanly at high warning levels
C0724INT09-C. Ensure enumeration constants map to unique values
C0736MSC40-C. Do not violate constraints
C0736MSC00-C. Compile cleanly at high warning levels
C0737MSC40-C. Do not violate constraints
C0737MSC00-C. Compile cleanly at high warning levels
C0738MSC40-C. Do not violate constraints
C0738MSC00-C. Compile cleanly at high warning levels
C0745MSC15-C. Do not depend on undefined behavior
C0746MSC40-C. Do not violate constraints
C0746MSC00-C. Compile cleanly at high warning levels
C0747MSC40-C. Do not violate constraints
C0747MSC00-C. Compile cleanly at high warning levels
C0751EXP39-C. Do not access a variable through a pointer of an incompatible type
C0751EXP11-C. Do not make assumptions regarding the layout of structures with bit-fields
C0752STR30-C. Do not attempt to modify string literals
C0752STR05-C. Use pointers to const when referring to string literals
C0753STR30-C. Do not attempt to modify string literals
C0753STR05-C. Use pointers to const when referring to string literals
C0754STR30-C. Do not attempt to modify string literals
C0755MSC40-C. Do not violate constraints
C0755MSC00-C. Compile cleanly at high warning levels
C0756MSC40-C. Do not violate constraints
C0756MSC00-C. Compile cleanly at high warning levels
C0757MSC40-C. Do not violate constraints
C0757MSC00-C. Compile cleanly at high warning levels
C0758MSC40-C. Do not violate constraints
C0758MSC00-C. Compile cleanly at high warning levels
C0766MSC40-C. Do not violate constraints
C0766MSC00-C. Compile cleanly at high warning levels
C0767MSC40-C. Do not violate constraints
C0767MSC00-C. Compile cleanly at high warning levels
C0768MSC40-C. Do not violate constraints
C0768MSC00-C. Compile cleanly at high warning levels
C0774MSC40-C. Do not violate constraints
C0774MSC00-C. Compile cleanly at high warning levels
C0775MSC40-C. Do not violate constraints
C0775MSC00-C. Compile cleanly at high warning levels
C0776DCL40-C. Do not create incompatible declarations of the same function or object
C0776DCL23-C. Guarantee that mutually visible identifiers are unique
C0777DCL23-C. Guarantee that mutually visible identifiers are unique
C0777MSC15-C. Do not depend on undefined behavior
C0778DCL40-C. Do not create incompatible declarations of the same function or object
C0778DCL23-C. Guarantee that mutually visible identifiers are unique
C0779DCL40-C. Do not create incompatible declarations of the same function or object
C0779DCL23-C. Guarantee that mutually visible identifiers are unique
C0779MSC15-C. Do not depend on undefined behavior
C0789DCL40-C. Do not create incompatible declarations of the same function or object
C0789DCL23-C. Guarantee that mutually visible identifiers are unique
C0790FLP02-C. Avoid using floating-point numbers when precise computation is needed
C0791DCL23-C. Guarantee that mutually visible identifiers are unique
C0793DCL23-C. Guarantee that mutually visible identifiers are unique
C0795DCL01-C. Do not reuse variable names in subscopes
C0796DCL01-C. Do not reuse variable names in subscopes
C0801MSC40-C. Do not violate constraints
C0801MSC00-C. Compile cleanly at high warning levels
C0801PRE05-C. Understand macro replacement when concatenating tokens or performing stringification
C0802MSC40-C. Do not violate constraints
C0802MSC00-C. Compile cleanly at high warning levels
C0802PRE05-C. Understand macro replacement when concatenating tokens or performing stringification
C0803MSC40-C. Do not violate constraints
C0803MSC00-C. Compile cleanly at high warning levels
C0803PRE05-C. Understand macro replacement when concatenating tokens or performing stringification
C0804MSC40-C. Do not violate constraints
C0804MSC00-C. Compile cleanly at high warning levels
C0811MSC40-C. Do not violate constraints
C0811MSC00-C. Compile cleanly at high warning levels
C0811PRE05-C. Understand macro replacement when concatenating tokens or performing stringification
C0813MSC15-C. Do not depend on undefined behavior
C0814MSC15-C. Do not depend on undefined behavior
C0817MSC00-C. Compile cleanly at high warning levels
C0818MSC00-C. Compile cleanly at high warning levels
C0821MSC40-C. Do not violate constraints
C0821MSC00-C. Compile cleanly at high warning levels
C0821MSC15-C. Do not depend on undefined behavior
C0830MSC14-C. Do not introduce unnecessary platform dependencies
C0831MSC14-C. Do not introduce unnecessary platform dependencies
C0834MSC40-C. Do not violate constraints
C0834MSC00-C. Compile cleanly at high warning levels
C0835MSC40-C. Do not violate constraints
C0835MSC00-C. Compile cleanly at high warning levels
C0836MSC15-C. Do not depend on undefined behavior
C0837MSC15-C. Do not depend on undefined behavior
C0840MSC14-C. Do not introduce unnecessary platform dependencies
C0844MSC40-C. Do not violate constraints
C0844MSC00-C. Compile cleanly at high warning levels
C0845MSC40-C. Do not violate constraints
C0845MSC00-C. Compile cleanly at high warning levels
C0848MSC15-C. Do not depend on undefined behavior
C0851MSC40-C. Do not violate constraints
C0851MSC00-C. Compile cleanly at high warning levels
C0852MSC40-C. Do not violate constraints
C0852MSC00-C. Compile cleanly at high warning levels
C0853PRE32-C. Do not use preprocessor directives in invocations of function-like macros
C0853MSC15-C. Do not depend on undefined behavior
C0854MSC15-C. Do not depend on undefined behavior
C0864MSC15-C. Do not depend on undefined behavior
C0865MSC15-C. Do not depend on undefined behavior
C0866MSC40-C. Do not violate constraints
C0866MSC00-C. Compile cleanly at high warning levels
C0867MSC15-C. Do not depend on undefined behavior
C0872MSC15-C. Do not depend on undefined behavior
C0872PRE05-C. Understand macro replacement when concatenating tokens or performing stringification
C0873MSC40-C. Do not violate constraints
C0873MSC00-C. Compile cleanly at high warning levels
C0874MSC15-C. Do not depend on undefined behavior
C0874STR10-C. Do not concatenate different type of string literals
C0877MSC40-C. Do not violate constraints
C0877MSC00-C. Compile cleanly at high warning levels
C0880PRE05-C. Understand macro replacement when concatenating tokens or performing stringification
C0881PRE05-C. Understand macro replacement when concatenating tokens or performing stringification
C0883PRE06-C. Enclose header files in an include guard
C0884PRE05-C. Understand macro replacement when concatenating tokens or performing stringification
C0885MSC15-C. Do not depend on undefined behavior
C0887MSC15-C. Do not depend on undefined behavior
C0888MSC15-C. Do not depend on undefined behavior
C0899MSC14-C. Do not introduce unnecessary platform dependencies
C0905PRE30-C. Do not create a universal character name through concatenation
C0914MSC15-C. Do not depend on undefined behavior
C0915MSC15-C. Do not depend on undefined behavior
C0940MSC40-C. Do not violate constraints
C0940MSC00-C. Compile cleanly at high warning levels
C0941MSC40-C. Do not violate constraints
C0941ARR00-C. Understand how arrays work
C0941MSC00-C. Compile cleanly at high warning levels
C0942MSC15-C. Do not depend on undefined behavior
C0943MSC40-C. Do not violate constraints
C0943MSC00-C. Compile cleanly at high warning levels
C0944MSC40-C. Do not violate constraints
C0944MSC00-C. Compile cleanly at high warning levels
C1001MSC14-C. Do not introduce unnecessary platform dependencies
C1002MSC14-C. Do not introduce unnecessary platform dependencies
C1003MSC14-C. Do not introduce unnecessary platform dependencies
C1006MSC14-C. Do not introduce unnecessary platform dependencies
C1008MSC14-C. Do not introduce unnecessary platform dependencies
C1012MSC14-C. Do not introduce unnecessary platform dependencies
C1014MSC14-C. Do not introduce unnecessary platform dependencies
C1015MSC14-C. Do not introduce unnecessary platform dependencies
C1016MSC14-C. Do not introduce unnecessary platform dependencies
C1017MSC14-C. Do not introduce unnecessary platform dependencies
C1019MSC14-C. Do not introduce unnecessary platform dependencies
C1020MSC14-C. Do not introduce unnecessary platform dependencies
C1021MSC14-C. Do not introduce unnecessary platform dependencies
C1022MSC14-C. Do not introduce unnecessary platform dependencies
C1023MSC40-C. Do not violate constraints
C1023MSC00-C. Compile cleanly at high warning levels
C1024MSC40-C. Do not violate constraints
C1024MSC00-C. Compile cleanly at high warning levels
C1025MSC40-C. Do not violate constraints
C1025MSC00-C. Compile cleanly at high warning levels
C1026MSC14-C. Do not introduce unnecessary platform dependencies
C1028MSC14-C. Do not introduce unnecessary platform dependencies
C1029MSC14-C. Do not introduce unnecessary platform dependencies
C1033MSC40-C. Do not violate constraints
C1033MSC00-C. Compile cleanly at high warning levels
C1034MSC14-C. Do not introduce unnecessary platform dependencies
C1035MSC14-C. Do not introduce unnecessary platform dependencies
C1036MSC14-C. Do not introduce unnecessary platform dependencies
C1037DCL38-C. Use the correct syntax when declaring a flexible array member
C1037ARR00-C. Understand how arrays work
C1037MSC14-C. Do not introduce unnecessary platform dependencies
C1038MSC14-C. Do not introduce unnecessary platform dependencies
C1039DCL38-C. Use the correct syntax when declaring a flexible array member
C1041MSC14-C. Do not introduce unnecessary platform dependencies
C1042MSC14-C. Do not introduce unnecessary platform dependencies
C1043MSC14-C. Do not introduce unnecessary platform dependencies
C1044MSC14-C. Do not introduce unnecessary platform dependencies
C1045MSC14-C. Do not introduce unnecessary platform dependencies
C1046MSC14-C. Do not introduce unnecessary platform dependencies
C1047MSC40-C. Do not violate constraints
C1047MSC00-C. Compile cleanly at high warning levels
C1048MSC40-C. Do not violate constraints
C1048MSC00-C. Compile cleanly at high warning levels
C1050MSC40-C. Do not violate constraints
C1050MSC00-C. Compile cleanly at high warning levels
C1051ARR32-C. Ensure size arguments for variable length arrays are in a valid range
C1051ARR00-C. Understand how arrays work
C1051MEM05-C. Avoid large stack allocations
C1052ARR00-C. Understand how arrays work
C1054DCL21-C. Understand the storage of compound literals
C1057EXP43-C. Avoid undefined behavior when using restrict-qualified pointers
C1061MEM33-C. Allocate and copy structures containing a flexible array member dynamically
C1061MSC40-C. Do not violate constraints
C1061MSC00-C. Compile cleanly at high warning levels
C1062MEM33-C. Allocate and copy structures containing a flexible array member dynamically
C1062MSC40-C. Do not violate constraints
C1062MSC00-C. Compile cleanly at high warning levels
C1063MEM33-C. Allocate and copy structures containing a flexible array member dynamically
C1064MEM33-C. Allocate and copy structures containing a flexible array member dynamically
C1069MEM35-C. Allocate sufficient memory for an object
C1071MEM35-C. Allocate sufficient memory for an object
C1073MEM35-C. Allocate sufficient memory for an object
C1080MSC00-C. Compile cleanly at high warning levels
C1087MSC00-C. Compile cleanly at high warning levels
C1088MSC00-C. Compile cleanly at high warning levels
C1089MSC00-C. Compile cleanly at high warning levels
C1091MSC00-C. Compile cleanly at high warning levels
C1092MSC00-C. Compile cleanly at high warning levels
C1093MSC00-C. Compile cleanly at high warning levels
C1095MSC00-C. Compile cleanly at high warning levels
C1096MSC00-C. Compile cleanly at high warning levels
C1112MSC00-C. Compile cleanly at high warning levels
C1113MSC00-C. Compile cleanly at high warning levels
C1114CON40-C. Do not refer to an atomic variable twice in an expression
C1114CON07-C. Ensure that compound operations on shared variables are atomic
C1115CON40-C. Do not refer to an atomic variable twice in an expression
C1115CON07-C. Ensure that compound operations on shared variables are atomic
C1116CON40-C. Do not refer to an atomic variable twice in an expression
C1116CON07-C. Ensure that compound operations on shared variables are atomic
C1117MSC00-C. Compile cleanly at high warning levels
C1118MSC00-C. Compile cleanly at high warning levels
C1120MSC00-C. Compile cleanly at high warning levels
C1121ARR00-C. Understand how arrays work
C1122ARR00-C. Understand how arrays work
C1123ARR00-C. Understand how arrays work
C1124MSC00-C. Compile cleanly at high warning levels
C1126MSC00-C. Compile cleanly at high warning levels
C1127MSC00-C. Compile cleanly at high warning levels
C1133MSC00-C. Compile cleanly at high warning levels
C1150MSC00-C. Compile cleanly at high warning levels
C1188ARR00-C. Understand how arrays work
C1189ARR00-C. Understand how arrays work
C1198MSC00-C. Compile cleanly at high warning levels
C1199MSC00-C. Compile cleanly at high warning levels
C1202MSC00-C. Compile cleanly at high warning levels
C1203MSC00-C. Compile cleanly at high warning levels
C1207MSC00-C. Compile cleanly at high warning levels
C1208MSC00-C. Compile cleanly at high warning levels
C1209MSC00-C. Compile cleanly at high warning levels
C1211MSC00-C. Compile cleanly at high warning levels
C1220MSC00-C. Compile cleanly at high warning levels
C1245INT17-C. Define integer constants in an implementation-independent manner
C1246INT17-C. Define integer constants in an implementation-independent manner
C1247INT17-C. Define integer constants in an implementation-independent manner
C1250INT02-C. Understand integer conversion rules
C1251INT02-C. Understand integer conversion rules
C1252INT02-C. Understand integer conversion rules
C1253INT02-C. Understand integer conversion rules
C1256INT02-C. Understand integer conversion rules
C1257INT02-C. Understand integer conversion rules
C1260FLP36-C. Preserve precision when converting integral values to floating-point type
C1260INT02-C. Understand integer conversion rules
C1263FLP36-C. Preserve precision when converting integral values to floating-point type
C1263INT02-C. Understand integer conversion rules
C1266INT02-C. Understand integer conversion rules
C1272DCL18-C. Do not begin integer constants with 0 when specifying a decimal value
C1274INT02-C. Understand integer conversion rules
C1280DCL16-C. Use "L," not "l," to indicate a long value
C1290INT02-C. Understand integer conversion rules
C1291INT02-C. Understand integer conversion rules
C1292INT02-C. Understand integer conversion rules
C1292INT07-C. Use only explicitly signed or unsigned char type for numeric values
C1292STR00-C. Represent characters using an appropriate type
C1293INT02-C. Understand integer conversion rules
C1293INT07-C. Use only explicitly signed or unsigned char type for numeric values
C1293STR00-C. Represent characters using an appropriate type
C1294INT02-C. Understand integer conversion rules
C1295INT02-C. Understand integer conversion rules
C1296INT02-C. Understand integer conversion rules
C1297INT02-C. Understand integer conversion rules
C1298FLP36-C. Preserve precision when converting integral values to floating-point type
C1298INT02-C. Understand integer conversion rules
C1299FLP36-C. Preserve precision when converting integral values to floating-point type
C1299INT02-C. Understand integer conversion rules
C1304DCL07-C. Include the appropriate type information in function declarators
C1312ARR00-C. Understand how arrays work
C1312STR11-C. Do not specify the bound of a character array initialized with a string literal
C1321ARR01-C. Do not apply the sizeof operator to a pointer when taking the size of an array
C1331EXP37-C. Call functions with the correct number and type of arguments
C1332EXP37-C. Call functions with the correct number and type of arguments
C1333EXP37-C. Call functions with the correct number and type of arguments
C1434MSC14-C. Do not introduce unnecessary platform dependencies
C1485FIO38-C. Do not copy a FILE object
C1490FLP00-C. Understand the limitations of floating-point numbers
C1492ENV30-C. Do not modify the object referenced by the return value of certain functions
C1493ENV30-C. Do not modify the object referenced by the return value of certain functions
C1494ENV30-C. Do not modify the object referenced by the return value of certain functions
C1500MSC13-C. Detect and remove unused values
C1501MSC07-C. Detect and remove dead code
C1502MSC13-C. Detect and remove unused values
C1503MSC07-C. Detect and remove dead code
C1504DCL15-C. Declare file-scope objects or functions that do not need external linkage as static
C1504DCL19-C. Minimize the scope of variables and functions
C1505DCL19-C. Minimize the scope of variables and functions
C1509MSC15-C. Do not depend on undefined behavior
C1510DCL40-C. Do not create incompatible declarations of the same function or object
C1510MSC15-C. Do not depend on undefined behavior
C1520MEM05-C. Avoid large stack allocations
C1531DCL15-C. Declare file-scope objects or functions that do not need external linkage as static
C1531DCL19-C. Minimize the scope of variables and functions
C1532DCL19-C. Minimize the scope of variables and functions
C1601MEM07-C. Ensure that the arguments to calloc(), when multiplied, do not wrap
C1602MEM07-C. Ensure that the arguments to calloc(), when multiplied, do not wrap
C1603MEM07-C. Ensure that the arguments to calloc(), when multiplied, do not wrap
C1604MEM07-C. Ensure that the arguments to calloc(), when multiplied, do not wrap
C1606POS02-C. Follow the principle of least privilege
C1607POS02-C. Follow the principle of least privilege
C1608POS02-C. Follow the principle of least privilege
C1611FIO02-C. Canonicalize path names originating from tainted sources
C1612FIO02-C. Canonicalize path names originating from tainted sources
C1613FIO02-C. Canonicalize path names originating from tainted sources
C1619STR03-C. Do not inadvertently truncate a string
C1765CON43-C. Do not allow data races in multithreaded code
C1765CON07-C. Ensure that compound operations on shared variables are atomic
C1766CON43-C. Do not allow data races in multithreaded code
C1769POS53-C. Do not use more than one mutex for concurrent waiting operations on a condition variable
C1770CON43-C. Do not allow data races in multithreaded code
C1770CON02-C. Do not use volatile as a synchronization primitive
C1771CON43-C. Do not allow data races in multithreaded code
C1772CON35-C. Avoid deadlock by locking in a predefined order
C1772POS51-C. Avoid deadlock with POSIX threads by locking in predefined order
C1773CON35-C. Avoid deadlock by locking in a predefined order
C1773POS51-C. Avoid deadlock with POSIX threads by locking in predefined order
C1774CON32-C. Prevent data races when accessing bit-fields from multiple threads
C1774POS49-C. When data must be accessed by multiple threads, provide a mutex and guarantee no adjacent data is also accessed
C1775CON32-C. Prevent data races when accessing bit-fields from multiple threads
C1775POS49-C. When data must be accessed by multiple threads, provide a mutex and guarantee no adjacent data is also accessed
C1776CON39-C. Do not join or detach a thread that was previously joined or detached
C1778CON38-C. Preserve thread safety and liveness when using condition variables
C1779CON38-C. Preserve thread safety and liveness when using condition variables
C1780CON30-C. Clean up thread-specific storage
C1781CON30-C. Clean up thread-specific storage
C1782CON30-C. Clean up thread-specific storage
C1783CON30-C. Clean up thread-specific storage
C1784CON30-C. Clean up thread-specific storage
C1800FLP36-C. Preserve precision when converting integral values to floating-point type
C1800INT02-C. Understand integer conversion rules
C1802FLP36-C. Preserve precision when converting integral values to floating-point type
C1802INT02-C. Understand integer conversion rules
C1803FLP36-C. Preserve precision when converting integral values to floating-point type
C1803INT02-C. Understand integer conversion rules
C1804FLP36-C. Preserve precision when converting integral values to floating-point type
C1804INT02-C. Understand integer conversion rules
C1810INT02-C. Understand integer conversion rules
C1810STR00-C. Represent characters using an appropriate type
C1811INT02-C. Understand integer conversion rules
C1811STR00-C. Represent characters using an appropriate type
C1812INT02-C. Understand integer conversion rules
C1812STR00-C. Represent characters using an appropriate type
C1813INT02-C. Understand integer conversion rules
C1813STR00-C. Represent characters using an appropriate type
C1814STR00-C. Represent characters using an appropriate type
C1820INT02-C. Understand integer conversion rules
C1821INT02-C. Understand integer conversion rules
C1822INT02-C. Understand integer conversion rules
C1823INT02-C. Understand integer conversion rules
C1824INT02-C. Understand integer conversion rules
C1830INT02-C. Understand integer conversion rules
C1831INT02-C. Understand integer conversion rules
C1832INT02-C. Understand integer conversion rules
C1833INT02-C. Understand integer conversion rules
C1834INT02-C. Understand integer conversion rules
C1840INT02-C. Understand integer conversion rules
C1841INT02-C. Understand integer conversion rules
C1842INT02-C. Understand integer conversion rules
C1843INT02-C. Understand integer conversion rules
C1844INT02-C. Understand integer conversion rules
C1850INT02-C. Understand integer conversion rules
C1851INT02-C. Understand integer conversion rules
C1852INT02-C. Understand integer conversion rules
C1853INT02-C. Understand integer conversion rules
C1854INT02-C. Understand integer conversion rules
C1860INT02-C. Understand integer conversion rules
C1861INT02-C. Understand integer conversion rules
C1862INT02-C. Understand integer conversion rules
C1863INT02-C. Understand integer conversion rules
C1864INT02-C. Understand integer conversion rules
C1880INT02-C. Understand integer conversion rules
C1881INT02-C. Understand integer conversion rules
C1882INT02-C. Understand integer conversion rules
C1890INT18-C. Evaluate integer expressions in a larger size before comparing or assigning to that size
C1891INT18-C. Evaluate integer expressions in a larger size before comparing or assigning to that size
C1892INT18-C. Evaluate integer expressions in a larger size before comparing or assigning to that size
C1893INT18-C. Evaluate integer expressions in a larger size before comparing or assigning to that size
C1894INT18-C. Evaluate integer expressions in a larger size before comparing or assigning to that size
C1895INT18-C. Evaluate integer expressions in a larger size before comparing or assigning to that size
C2000MSC01-C. Strive for logical completeness
C2002MSC01-C. Strive for logical completeness
C2003MSC17-C. Finish every set of statements associated with a case label with a break statement
C2004MSC01-C. Strive for logical completeness
C2008DCL41-C. Do not declare variables inside a switch statement before the first case label
C2008MSC07-C. Detect and remove dead code
C2019MSC20-C. Do not use a switch statement to transfer control into a complex block
C2025MSC00-C. Compile cleanly at high warning levels
C2026CON41-C. Wrap functions that can fail spuriously in a loop
C2027CON36-C. Wrap functions that can spuriously wake up in a loop
C2028SIG30-C. Call only asynchronous-safe functions within signal handlers
C2029SIG31-C. Do not access shared objects in signal handlers
C2030SIG30-C. Call only asynchronous-safe functions within signal handlers
C2030SIG31-C. Do not access shared objects in signal handlers
C2031ERR32-C. Do not rely on indeterminate values of errno
C2050DCL31-C. Declare identifiers before using them
C2050DCL07-C. Include the appropriate type information in function declarators
C2051DCL31-C. Declare identifiers before using them
C2100INT02-C. Understand integer conversion rules
C2101INT02-C. Understand integer conversion rules
C2102INT02-C. Understand integer conversion rules
C2103INT02-C. Understand integer conversion rules
C2104INT02-C. Understand integer conversion rules
C2105INT02-C. Understand integer conversion rules
C2106INT02-C. Understand integer conversion rules
C2106STR09-C. Don't assume numeric values for expressions with type plain character
C2107INT02-C. Understand integer conversion rules
C2107STR09-C. Don't assume numeric values for expressions with type plain character
C2109INT02-C. Understand integer conversion rules
C2110INT02-C. Understand integer conversion rules
C2111INT02-C. Understand integer conversion rules
C2112INT02-C. Understand integer conversion rules
C2113INT02-C. Understand integer conversion rules
C2114INT02-C. Understand integer conversion rules
C2115INT02-C. Understand integer conversion rules
C2116INT02-C. Understand integer conversion rules
C2117INT02-C. Understand integer conversion rules
C2118INT02-C. Understand integer conversion rules
C2119INT02-C. Understand integer conversion rules
C2120INT02-C. Understand integer conversion rules
C2122INT02-C. Understand integer conversion rules
C2124INT02-C. Understand integer conversion rules
C2130INT02-C. Understand integer conversion rules
C2132INT02-C. Understand integer conversion rules
C2134INT02-C. Understand integer conversion rules
C2140STR34-C. Cast characters to unsigned char before converting to larger integer sizes
C2141STR34-C. Cast characters to unsigned char before converting to larger integer sizes
C2143STR34-C. Cast characters to unsigned char before converting to larger integer sizes
C2144STR34-C. Cast characters to unsigned char before converting to larger integer sizes
C2145STR34-C. Cast characters to unsigned char before converting to larger integer sizes
C2147STR34-C. Cast characters to unsigned char before converting to larger integer sizes
C2148STR34-C. Cast characters to unsigned char before converting to larger integer sizes
C2149STR34-C. Cast characters to unsigned char before converting to larger integer sizes
C2151STR34-C. Cast characters to unsigned char before converting to larger integer sizes
C2151STR00-C. Represent characters using an appropriate type
C2152STR34-C. Cast characters to unsigned char before converting to larger integer sizes
C2153STR34-C. Cast characters to unsigned char before converting to larger integer sizes
C2155STR34-C. Cast characters to unsigned char before converting to larger integer sizes
C2212EXP19-C. Use braces for the body of an if, for, or while statement
C2500ERR30-C. Take care when reading errno
C2501ERR30-C. Take care when reading errno
C2502ERR30-C. Take care when reading errno
C2503ERR30-C. Take care when reading errno
C2547DCL01-C. Do not reuse variable names in subscopes
C2668ARR00-C. Understand how arrays work
C2669ARR00-C. Understand how arrays work
C2676FIO34-C. Distinguish between characters read from a file and EOF or WEOF
C2678FIO34-C. Distinguish between characters read from a file and EOF or WEOF
C2717MEM00-C. Allocate and free memory in the same module, at the same level of abstraction
C2781ARR00-C. Understand how arrays work
C2782ARR00-C. Understand how arrays work
C2783ARR00-C. Understand how arrays work
C2790INT34-C. Do not shift an expression by a negative number of bits or by greater than or equal to the number of bits that exist in the operand
C2800INT32-C. Ensure that operations on signed integers do not result in overflow
C2800INT08-C. Verify that all integer values are in range
C2810ARR00-C. Understand how arrays work
C2811ARR00-C. Understand how arrays work
C2812ARR00-C. Understand how arrays work
C2813ARR00-C. Understand how arrays work
C2814ARR00-C. Understand how arrays work
C2820ARR00-C. Understand how arrays work
C2821ARR00-C. Understand how arrays work
C2822ARR00-C. Understand how arrays work
C2823ARR00-C. Understand how arrays work
C2824ARR00-C. Understand how arrays work
C2830INT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors
C2840ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
C2840ARR38-C. Guarantee that library functions do not form invalid pointers
C2840STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
C2840MEM35-C. Allocate sufficient memory for an object
C2840ARR00-C. Understand how arrays work
C2841ARR00-C. Understand how arrays work
C2842ARR00-C. Understand how arrays work
C2843ARR00-C. Understand how arrays work
C2845ARR00-C. Understand how arrays work
C2846ARR00-C. Understand how arrays work
C2847ARR00-C. Understand how arrays work
C2848ARR00-C. Understand how arrays work
C2850INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
C2855INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
C2860INT32-C. Ensure that operations on signed integers do not result in overflow
C2877MSC07-C. Detect and remove dead code
C2880MSC07-C. Detect and remove dead code
C2881MSC07-C. Detect and remove dead code
C2882DCL41-C. Do not declare variables inside a switch statement before the first case label
C2882MSC07-C. Detect and remove dead code
C2883MSC07-C. Detect and remove dead code
C2890INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
C2895INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
C2900INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
C2905INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
C2910INT30-C. Ensure that unsigned integer operations do not wrap
C2910INT08-C. Verify that all integer values are in range
C2930EXP08-C. Ensure pointer arithmetic is used correctly
C2931EXP08-C. Ensure pointer arithmetic is used correctly
C2932EXP08-C. Ensure pointer arithmetic is used correctly
C2933EXP08-C. Ensure pointer arithmetic is used correctly
C2940INT16-C. Do not make assumptions about representation of signed integers
C2945INT16-C. Do not make assumptions about representation of signed integers
C2950ARR00-C. Understand how arrays work
C2951ARR00-C. Understand how arrays work
C2952ARR00-C. Understand how arrays work
C2953ARR00-C. Understand how arrays work
C2956STR02-C. Sanitize data passed to complex subsystems
C2959STR02-C. Sanitize data passed to complex subsystems
C3001DCL20-C. Explicitly specify void when a function accepts no arguments
C3002EXP37-C. Call functions with the correct number and type of arguments
C3004EXP16-C. Do not compare function pointers to constant values
C3005MEM01-C. Store a new value in pointers immediately after free()
C3007DCL20-C. Explicitly specify void when a function accepts no arguments
C3103INT10-C. Do not assume a positive remainder when using the % operator
C3108MSC04-C. Use comments consistently and in a readable fashion
C3109EXP15-C. Do not place a semicolon on the same line as an if, for, or while statement
C3110MSC12-C. Detect and remove code that has no effect or is never executed
C3112MSC12-C. Detect and remove code that has no effect or is never executed
C3113MSC15-C. Do not depend on undefined behavior
C3114MSC15-C. Do not depend on undefined behavior
C3120DCL06-C. Use meaningful symbolic constants to represent literal values
C3120EXP07-C. Do not diminish the benefits of constants by assuming their values in expressions
C3121DCL06-C. Use meaningful symbolic constants to represent literal values
C3121EXP07-C. Do not diminish the benefits of constants by assuming their values in expressions
C3122DCL06-C. Use meaningful symbolic constants to represent literal values
C3122EXP07-C. Do not diminish the benefits of constants by assuming their values in expressions
C3123DCL06-C. Use meaningful symbolic constants to represent literal values
C3123EXP07-C. Do not diminish the benefits of constants by assuming their values in expressions
C3131DCL06-C. Use meaningful symbolic constants to represent literal values
C3131EXP07-C. Do not diminish the benefits of constants by assuming their values in expressions
C3132DCL06-C. Use meaningful symbolic constants to represent literal values
C3132EXP07-C. Do not diminish the benefits of constants by assuming their values in expressions
C3200ERR33-C. Detect and handle standard library errors
C3200POS54-C. Detect and handle POSIX library errors
C3200EXP12-C. Do not ignore values returned by functions
C3202MSC07-C. Detect and remove dead code
C3203MSC07-C. Detect and remove dead code
C3203MSC13-C. Detect and remove unused values
C3204DCL00-C. Const-qualify immutable objects
C3205MSC07-C. Detect and remove dead code
C3205MSC13-C. Detect and remove unused values
C3206MSC07-C. Detect and remove dead code
C3206MSC13-C. Detect and remove unused values
C3207MSC07-C. Detect and remove dead code
C3207MSC13-C. Detect and remove unused values
C3210DCL19-C. Minimize the scope of variables and functions
C3210MSC07-C. Detect and remove dead code
C3217DCL30-C. Declare objects with appropriate storage durations
C3217DCL21-C. Understand the storage of compound literals
C3218DCL19-C. Minimize the scope of variables and functions
C3219MSC07-C. Detect and remove dead code
C3225DCL30-C. Declare objects with appropriate storage durations
C3226EXP10-C. Do not depend on the order of evaluation of subexpressions or the order in which side effects take place
C3227DCL00-C. Const-qualify immutable objects
C3229MSC07-C. Detect and remove dead code
C3229MSC13-C. Detect and remove unused values
C3230DCL30-C. Declare objects with appropriate storage durations
C3232DCL00-C. Const-qualify immutable objects
C3234DCL41-C. Do not declare variables inside a switch statement before the first case label
C3236MSC40-C. Do not violate constraints
C3236MSC00-C. Compile cleanly at high warning levels
C3237MSC40-C. Do not violate constraints
C3237MSC00-C. Compile cleanly at high warning levels
C3238MSC40-C. Do not violate constraints
C3238MSC00-C. Compile cleanly at high warning levels
C3239MSC15-C. Do not depend on undefined behavior
C3244MSC40-C. Do not violate constraints
C3244MSC00-C. Compile cleanly at high warning levels
C3305EXP36-C. Do not cast pointers into more strictly aligned pointer types
C3305EXP39-C. Do not access a variable through a pointer of an incompatible type
C3307EXP44-C. Do not rely on side effects in operands to sizeof, _Alignof, or _Generic
C3307MSC12-C. Detect and remove code that has no effect or is never executed
C3311MSC15-C. Do not depend on undefined behavior
C3312MSC15-C. Do not depend on undefined behavior
C3314EXP45-C. Do not perform assignments in selection statements
C3319MSC15-C. Do not depend on undefined behavior
C3320EXP37-C. Call functions with the correct number and type of arguments
C3326EXP45-C. Do not perform assignments in selection statements
C3326EXP10-C. Do not depend on the order of evaluation of subexpressions or the order in which side effects take place
C3331DCL07-C. Include the appropriate type information in function declarators
C3334DCL01-C. Do not reuse variable names in subscopes
C3335DCL31-C. Declare identifiers before using them
C3335EXP37-C. Call functions with the correct number and type of arguments
C3335DCL07-C. Include the appropriate type information in function declarators
C3336PRE13-C. Use the Standard predefined macros to test for versions and features.
C3337ARR00-C. Understand how arrays work
C3339FLP30-C. Do not use floating-point variables as loop counters
C3339FLP00-C. Understand the limitations of floating-point numbers
C3340FLP30-C. Do not use floating-point variables as loop counters
C3340FLP00-C. Understand the limitations of floating-point numbers
C3341FLP00-C. Understand the limitations of floating-point numbers
C3342FLP30-C. Do not use floating-point variables as loop counters
C3342FLP00-C. Understand the limitations of floating-point numbers
C3344EXP45-C. Do not perform assignments in selection statements
C3344EXP46-C. Do not use a bitwise operator with a Boolean-like operand
C3344EXP16-C. Do not compare function pointers to constant values
C3344EXP20-C. Perform explicit tests to determine success, true and false, and equality
C3362FLP00-C. Understand the limitations of floating-point numbers
C3375MSC23-C. Beware of vendor-specific library and language differences
C3383INT30-C. Ensure that unsigned integer operations do not wrap
C3384INT30-C. Ensure that unsigned integer operations do not wrap
C3385INT30-C. Ensure that unsigned integer operations do not wrap
C3386INT30-C. Ensure that unsigned integer operations do not wrap
C3389EXP00-C. Use parentheses for precedence of operation
C3390EXP00-C. Use parentheses for precedence of operation
C3391EXP00-C. Use parentheses for precedence of operation
C3392EXP00-C. Use parentheses for precedence of operation
C3392EXP13-C. Treat relational and equality operators as if they were nonassociative
C3393EXP00-C. Use parentheses for precedence of operation
C3394EXP00-C. Use parentheses for precedence of operation
C3395EXP00-C. Use parentheses for precedence of operation
C3396EXP00-C. Use parentheses for precedence of operation
C3397EXP00-C. Use parentheses for precedence of operation
C3398EXP00-C. Use parentheses for precedence of operation
C3399EXP00-C. Use parentheses for precedence of operation
C3400EXP00-C. Use parentheses for precedence of operation
C3401EXP13-C. Treat relational and equality operators as if they were nonassociative
C3404MSC07-C. Detect and remove dead code
C3404MSC12-C. Detect and remove code that has no effect or is never executed
C3405ARR00-C. Understand how arrays work
C3408DCL07-C. Include the appropriate type information in function declarators
C3409PRE02-C. Macro replacement lists should be parenthesized
C3410PRE01-C. Use parentheses within macros around parameter names
C3412PRE10-C. Wrap multistatement macros in a do-while loop
C3412PRE11-C. Do not conclude macro definitions with a semicolon
C3415EXP02-C. Be aware of the short-circuit behavior of the logical AND and OR operators
C3416EXP45-C. Do not perform assignments in selection statements
C3422MSC07-C. Detect and remove dead code
C3423MSC07-C. Detect and remove dead code
C3425MSC07-C. Detect and remove dead code
C3426MSC12-C. Detect and remove code that has no effect or is never executed
C3427MSC12-C. Detect and remove code that has no effect or is never executed
C3437MSC38-C. Do not treat a predefined identifier as an object if it might only be implemented as a macro
C3437MSC15-C. Do not depend on undefined behavior
C3438MSC15-C. Do not depend on undefined behavior
C3450DCL07-C. Include the appropriate type information in function declarators
C3453PRE00-C. Prefer inline or static functions to function-like macros
C3456PRE12-C. Do not define unsafe macros
C3458PRE10-C. Wrap multistatement macros in a do-while loop
C3462PRE31-C. Avoid side effects in arguments to unsafe macros
C3463PRE31-C. Avoid side effects in arguments to unsafe macros
C3464PRE31-C. Avoid side effects in arguments to unsafe macros
C3465PRE31-C. Avoid side effects in arguments to unsafe macros
C3466PRE31-C. Avoid side effects in arguments to unsafe macros
C3467PRE31-C. Avoid side effects in arguments to unsafe macros
C3470MSC07-C. Detect and remove dead code
C3475MSC38-C. Do not treat a predefined identifier as an object if it might only be implemented as a macro
C3497MSC39-C. Do not call va_arg() on a va_list that has an indeterminate value
C3519FIO02-C. Canonicalize path names originating from tainted sources
C3556MSC18-C. Be careful while handling sensitive data, such as passwords, in program code
C3557MSC18-C. Be careful while handling sensitive data, such as passwords, in program code
C3558MSC18-C. Be careful while handling sensitive data, such as passwords, in program code
C3586ENV01-C. Do not make assumptions about the size of an environment variable
C3587ENV01-C. Do not make assumptions about the size of an environment variable
C3588ENV01-C. Do not make assumptions about the size of an environment variable
C3591FIO20-C. Avoid unintentional truncation when using fgets() or fgetws()
C3592FIO20-C. Avoid unintentional truncation when using fgets() or fgetws()
C3601PRE07-C. Avoid using repeated question marks
C3639ARR00-C. Understand how arrays work
C3639MSC00-C. Compile cleanly at high warning levels
C3640ARR00-C. Understand how arrays work
C3640MSC00-C. Compile cleanly at high warning levels
C3650ARR00-C. Understand how arrays work
C3651ARR00-C. Understand how arrays work
C3664MSC14-C. Do not introduce unnecessary platform dependencies
C3670MEM05-C. Avoid large stack allocations
C3673DCL00-C. Const-qualify immutable objects
C3673DCL13-C. Declare function parameters that are pointers to values not changed by the function as const
C3674ARR00-C. Understand how arrays work
C3674ARR02-C. Explicitly specify array bounds, even if implicitly defined by an initializer
C3677DCL00-C. Const-qualify immutable objects
C3677DCL13-C. Declare function parameters that are pointers to values not changed by the function as const
C3684ARR00-C. Understand how arrays work
C3684ARR02-C. Explicitly specify array bounds, even if implicitly defined by an initializer
C4010STR00-C. Represent characters using an appropriate type
C4011STR00-C. Represent characters using an appropriate type
C4063STR00-C. Represent characters using an appropriate type
C4064STR00-C. Represent characters using an appropriate type
C4065STR00-C. Represent characters using an appropriate type
C4111EXP13-C. Treat relational and equality operators as if they were nonassociative
C4112EXP13-C. Treat relational and equality operators as if they were nonassociative
C4113EXP13-C. Treat relational and equality operators as if they were nonassociative
C4116EXP20-C. Perform explicit tests to determine success, true and false, and equality
C4117FLP36-C. Preserve precision when converting integral values to floating-point type
C4117FLP06-C. Convert integers to floating point for floating-point operations
C4118FLP06-C. Convert integers to floating point for floating-point operations
C4140DCL30-C. Declare objects with appropriate storage durations
C4310STR00-C. Represent characters using an appropriate type
C4312STR00-C. Represent characters using an appropriate type
C4315STR00-C. Represent characters using an appropriate type
C4401INT02-C. Understand integer conversion rules
C4401INT07-C. Use only explicitly signed or unsigned char type for numeric values
C4401STR00-C. Represent characters using an appropriate type
C4402INT02-C. Understand integer conversion rules
C4403INT02-C. Understand integer conversion rules
C4404INT02-C. Understand integer conversion rules
C4405INT02-C. Understand integer conversion rules
C4410INT02-C. Understand integer conversion rules
C4410STR00-C. Represent characters using an appropriate type
C4412INT02-C. Understand integer conversion rules
C4412STR00-C. Represent characters using an appropriate type
C4413STR37-C. Arguments to character-handling functions must be representable as an unsigned char
C4413INT02-C. Understand integer conversion rules
C4413STR00-C. Represent characters using an appropriate type
C4414STR37-C. Arguments to character-handling functions must be representable as an unsigned char
C4414INT02-C. Understand integer conversion rules
C4414STR00-C. Represent characters using an appropriate type
C4415INT02-C. Understand integer conversion rules
C4415STR00-C. Represent characters using an appropriate type
C4420INT02-C. Understand integer conversion rules
C4421INT02-C. Understand integer conversion rules
C4421INT07-C. Use only explicitly signed or unsigned char type for numeric values
C4421STR00-C. Represent characters using an appropriate type
C4422INT02-C. Understand integer conversion rules
C4423INT02-C. Understand integer conversion rules
C4424INT02-C. Understand integer conversion rules
C4425INT02-C. Understand integer conversion rules
C4430INT02-C. Understand integer conversion rules
C4431INT02-C. Understand integer conversion rules
C4431INT07-C. Use only explicitly signed or unsigned char type for numeric values
C4431STR00-C. Represent characters using an appropriate type
C4432INT02-C. Understand integer conversion rules
C4434INT02-C. Understand integer conversion rules
C4435FLP36-C. Preserve precision when converting integral values to floating-point type
C4435INT02-C. Understand integer conversion rules
C4436INT02-C. Understand integer conversion rules
C4437FLP36-C. Preserve precision when converting integral values to floating-point type
C4437INT02-C. Understand integer conversion rules
C4440INT02-C. Understand integer conversion rules
C4441INT02-C. Understand integer conversion rules
C4441INT07-C. Use only explicitly signed or unsigned char type for numeric values
C4441STR00-C. Represent characters using an appropriate type
C4442INT02-C. Understand integer conversion rules
C4443INT02-C. Understand integer conversion rules
C4445FLP36-C. Preserve precision when converting integral values to floating-point type
C4445INT02-C. Understand integer conversion rules
C4446INT02-C. Understand integer conversion rules
C4447INT02-C. Understand integer conversion rules
C4450FLP34-C. Ensure that floating-point conversions are within range of the new type
C4451FLP34-C. Ensure that floating-point conversions are within range of the new type
C4451INT07-C. Use only explicitly signed or unsigned char type for numeric values
C4451STR00-C. Represent characters using an appropriate type
C4452FLP34-C. Ensure that floating-point conversions are within range of the new type
C4453FLP34-C. Ensure that floating-point conversions are within range of the new type
C4454FLP34-C. Ensure that floating-point conversions are within range of the new type
C4460INT02-C. Understand integer conversion rules
C4461INT02-C. Understand integer conversion rules
C4462FLP34-C. Ensure that floating-point conversions are within range of the new type
C4463INT02-C. Understand integer conversion rules
C4464INT02-C. Understand integer conversion rules
C4465FLP34-C. Ensure that floating-point conversions are within range of the new type
C4470INT02-C. Understand integer conversion rules
C4471INT02-C. Understand integer conversion rules
C4480INT02-C. Understand integer conversion rules
C4481INT02-C. Understand integer conversion rules
C4490INT18-C. Evaluate integer expressions in a larger size before comparing or assigning to that size
C4491INT18-C. Evaluate integer expressions in a larger size before comparing or assigning to that size
C4492INT18-C. Evaluate integer expressions in a larger size before comparing or assigning to that size
C4500ARR00-C. Understand how arrays work
C4502EXP46-C. Do not use a bitwise operator with a Boolean-like operand
C4510ARR00-C. Understand how arrays work
C4510STR00-C. Represent characters using an appropriate type
C4511STR00-C. Represent characters using an appropriate type
C4512STR00-C. Represent characters using an appropriate type
C4513STR00-C. Represent characters using an appropriate type
C4514STR00-C. Represent characters using an appropriate type
C4517STR00-C. Represent characters using an appropriate type
C4518STR00-C. Represent characters using an appropriate type
C4519STR00-C. Represent characters using an appropriate type
C4532INT13-C. Use bitwise operators only on unsigned operands
C4533INT13-C. Use bitwise operators only on unsigned operands
C4534INT13-C. Use bitwise operators only on unsigned operands
C4543INT13-C. Use bitwise operators only on unsigned operands
C4544INT13-C. Use bitwise operators only on unsigned operands
C4580STR00-C. Represent characters using an appropriate type
C4581STR00-C. Represent characters using an appropriate type
C4582STR00-C. Represent characters using an appropriate type
C4583STR00-C. Represent characters using an appropriate type
C4584STR00-C. Represent characters using an appropriate type
C4585STR00-C. Represent characters using an appropriate type
C4586STR00-C. Represent characters using an appropriate type
C4600DCL37-C. Do not declare or define a reserved identifier
C4601DCL37-C. Do not declare or define a reserved identifier
C4602DCL37-C. Do not declare or define a reserved identifier
C4603DCL37-C. Do not declare or define a reserved identifier
C4604DCL37-C. Do not declare or define a reserved identifier
C4605DCL37-C. Do not declare or define a reserved identifier
C4606DCL37-C. Do not declare or define a reserved identifier
C4607DCL37-C. Do not declare or define a reserved identifier
C4608DCL37-C. Do not declare or define a reserved identifier
C4620DCL37-C. Do not declare or define a reserved identifier
C4621DCL37-C. Do not declare or define a reserved identifier
C4622DCL37-C. Do not declare or define a reserved identifier
C4623DCL37-C. Do not declare or define a reserved identifier
C4624DCL37-C. Do not declare or define a reserved identifier
C4640DCL37-C. Do not declare or define a reserved identifier
C4641DCL37-C. Do not declare or define a reserved identifier
C4642DCL37-C. Do not declare or define a reserved identifier
C4643DCL37-C. Do not declare or define a reserved identifier
C4644DCL37-C. Do not declare or define a reserved identifier
C4645DCL37-C. Do not declare or define a reserved identifier
C4871MEM04-C. Beware of zero-length allocations
C4872MEM04-C. Beware of zero-length allocations
C4873MEM04-C. Beware of zero-length allocations
C4874MEM04-C. Beware of zero-length allocations
C5001PRE04-C. Do not reuse a standard header file name
C5002PRE08-C. Guarantee that header file names are unique
C5003PRE09-C. Do not replace secure functions with deprecated or obsolescent functions
C5004DCL05-C. Use typedefs of non-pointer types only
C5005INT05-C. Do not use input functions to convert character data if they cannot handle all possible inputs
C5007STR06-C. Do not assume that strtok() leaves the parse string unchanged
C5009STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
C5010MEM03-C. Clear sensitive information stored in reusable resources
C5011FIO01-C. Be careful using functions that use file names for identification
C5012FIO03-C. Do not make assumptions about fopen() and file creation
C5013FIO06-C. Create files with appropriate access permissions
C5014FIO08-C. Take care when calling remove() on an open file
C5015FIO10-C. Take care when using the rename() function
C5016FIO21-C. Do not create temporary files in shared directories
C5017ENV03-C. Sanitize the environment when invoking external programs
C5018ENV33-C. Do not call system()
C5019SIG00-C. Mask signals handled by noninterruptible signal handlers
C5020SIG01-C. Understand implementation-specific details regarding signal handler persistence
C5021SIG34-C. Do not call signal() from within interruptible signal handlers
C5021CON37-C. Do not call signal() in a multithreaded program
C5022MSC30-C. Do not use the rand() function for generating pseudorandom numbers
C5024POS34-C. Do not call putenv() with a pointer to an automatic variable as the argument
C5025FLP32-C. Prevent or detect domain and range errors in math functions
C5026FLP37-C. Do not use object representations to compare floating-point values
C5027MEM36-C. Do not modify the alignment of objects by calling realloc()
C5028FIO38-C. Do not copy a FILE object
C5030ERR34-C. Detect errors when converting a string to a number
C5031MSC32-C. Properly seed pseudorandom number generators
C5032MSC33-C. Do not pass invalid data to the asctime() function
C5033POS30-C. Use the readlink() function properly
C5034POS44-C. Do not use signals to terminate threads
C5035POS47-C. Do not use threads that can be canceled asynchronously
C5036FIO41-C. Do not call getc(), putc(), getwc(), or putwc() with a stream argument that has side effects
C5037CON33-C. Avoid race conditions when using library functions
C5038STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
C5039MSC24-C. Do not use deprecated or obsolescent functions
C5040MSC24-C. Do not use deprecated or obsolescent functions
C5041MSC24-C. Do not use deprecated or obsolescent functions
C5042MSC24-C. Do not use deprecated or obsolescent functions
C5043MSC24-C. Do not use deprecated or obsolescent functions
C5044SIG02-C. Avoid using signals to implement normal functionality
C5045MSC00-C. Compile cleanly at high warning levels
C5046ERR07-C. Prefer functions that support error checking over equivalent functions that don't
C5047FIO02-C. Canonicalize path names originating from tainted sources
C++0064PRE30-C. Do not create a universal character name through concatenation
C++0080PRE30-C. Do not create a universal character name through concatenation
C++0145STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
C++0403EXP37-C. Call functions with the correct number and type of arguments
C++0403STR38-C. Do not confuse narrow and wide character strings and functions
C++1072PRE32-C. Do not use preprocessor directives in invocations of function-like macros
C++1510DCL40-C. Do not create incompatible declarations of the same function or object
C++1765CON43-C. Do not allow data races in multithreaded code
C++1766CON43-C. Do not allow data races in multithreaded code
C++1769POS53-C. Do not use more than one mutex for concurrent waiting operations on a condition variable
C++1770CON43-C. Do not allow data races in multithreaded code
C++1771CON43-C. Do not allow data races in multithreaded code
C++2515DCL30-C. Declare objects with appropriate storage durations
C++2516DCL30-C. Declare objects with appropriate storage durations
C++2527DCL30-C. Declare objects with appropriate storage durations
C++2528DCL30-C. Declare objects with appropriate storage durations
C++2676FIO34-C. Distinguish between characters read from a file and EOF or WEOF
C++2678FIO34-C. Distinguish between characters read from a file and EOF or WEOF
C++2790INT34-C. Do not shift an expression by a negative number of bits or by greater than or equal to the number of bits that exist in the operand
C++2800INT32-C. Ensure that operations on signed integers do not result in overflow
C++2830INT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors
C++2850INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
C++2855INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
C++2860INT32-C. Ensure that operations on signed integers do not result in overflow
C++2890INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
C++2895INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
C++2900INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
C++2905INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
C++2910INT30-C. Ensure that unsigned integer operations do not wrap
C++3000INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
C++3001FIO34-C. Distinguish between characters read from a file and EOF or WEOF
C++3003INT34-C. Do not shift an expression by a negative number of bits or by greater than or equal to the number of bits that exist in the operand
C++3010INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
C++3010FIO34-C. Distinguish between characters read from a file and EOF or WEOF
C++3011FLP34-C. Ensure that floating-point conversions are within range of the new type
C++3011FLP36-C. Preserve precision when converting integral values to floating-point type
C++3017EXP39-C. Do not access a variable through a pointer of an incompatible type
C++3030EXP39-C. Do not access a variable through a pointer of an incompatible type
C++3033EXP36-C. Do not cast pointers into more strictly aligned pointer types
C++3033EXP39-C. Do not access a variable through a pointer of an incompatible type
C++3038EXP36-C. Do not cast pointers into more strictly aligned pointer types
C++3040INT36-C. Converting a pointer to integer or integer to pointer
C++3041INT36-C. Converting a pointer to integer or integer to pointer
C++3042INT36-C. Converting a pointer to integer or integer to pointer
C++3043INT36-C. Converting a pointer to integer or integer to pointer
C++3044INT36-C. Converting a pointer to integer or integer to pointer
C++3045INT36-C. Converting a pointer to integer or integer to pointer
C++3046INT36-C. Converting a pointer to integer or integer to pointer
C++3047INT36-C. Converting a pointer to integer or integer to pointer
C++3048INT36-C. Converting a pointer to integer or integer to pointer
C++3051STR34-C. Cast characters to unsigned char before converting to larger integer sizes
C++3051STR37-C. Arguments to character-handling functions must be representable as an unsigned char
C++3051FIO34-C. Distinguish between characters read from a file and EOF or WEOF
C++3063STR30-C. Do not attempt to modify string literals
C++3064STR30-C. Do not attempt to modify string literals
C++3113FIO38-C. Do not copy a FILE object
C++3114FIO38-C. Do not copy a FILE object
C++3115INT35-C. Use correct integer precisions
C++3118FLP37-C. Do not use object representations to compare floating-point values
C++3127MSC38-C. Do not treat a predefined identifier as an object if it might only be implemented as a macro
C++3137FIO34-C. Distinguish between characters read from a file and EOF or WEOF
C++3146MSC39-C. Do not call va_arg() on a va_list that has an indeterminate value
C++3147MSC39-C. Do not call va_arg() on a va_list that has an indeterminate value
C++3148MSC39-C. Do not call va_arg() on a va_list that has an indeterminate value
C++3149MSC39-C. Do not call va_arg() on a va_list that has an indeterminate value
C++3150FIO47-C. Use valid format strings
C++3151FIO47-C. Use valid format strings
C++3152FIO47-C. Use valid format strings
C++3153FIO47-C. Use valid format strings
C++3154FIO47-C. Use valid format strings
C++3155FIO47-C. Use valid format strings
C++3156FIO47-C. Use valid format strings
C++3157FIO47-C. Use valid format strings
C++3158FIO47-C. Use valid format strings
C++3159FIO47-C. Use valid format strings
C++3167MSC39-C. Do not call va_arg() on a va_list that has an indeterminate value
C++3171CON40-C. Do not refer to an atomic variable twice in an expression
C++3172ERR30-C. Take care when reading errno
C++3173ERR30-C. Take care when reading errno
C++3174ERR30-C. Take care when reading errno
C++3175ERR30-C. Take care when reading errno
C++3176ERR30-C. Take care when reading errno
C++3177ERR30-C. Take care when reading errno
C++3178ERR30-C. Take care when reading errno
C++3179ERR30-C. Take care when reading errno
C++3183ERR30-C. Take care when reading errno
C++3184ERR30-C. Take care when reading errno
C++3225PRE31-C. Avoid side effects in arguments to unsafe macros
C++3225FIO41-C. Do not call getc(), putc(), getwc(), or putwc() with a stream argument that has side effects
C++3226PRE31-C. Avoid side effects in arguments to unsafe macros
C++3227PRE31-C. Avoid side effects in arguments to unsafe macros
C++3228PRE31-C. Avoid side effects in arguments to unsafe macros
C++3229PRE31-C. Avoid side effects in arguments to unsafe macros
C++3229FIO41-C. Do not call getc(), putc(), getwc(), or putwc() with a stream argument that has side effects
C++3337MEM31-C. Free dynamically allocated memory when no longer needed
C++3338MEM31-C. Free dynamically allocated memory when no longer needed
C++3339MEM30-C. Do not access freed memory
C++3605STR30-C. Do not attempt to modify string literals
C++3606STR30-C. Do not attempt to modify string literals
C++3607STR30-C. Do not attempt to modify string literals
C++3705ARR37-C. Do not add or subtract an integer to a pointer to a non-array object
C++3706ARR37-C. Do not add or subtract an integer to a pointer to a non-array object
C++3707ARR37-C. Do not add or subtract an integer to a pointer to a non-array object
C++3709EXP46-C. Do not use a bitwise operator with a Boolean-like operand
C++3717FIO34-C. Distinguish between characters read from a file and EOF or WEOF
C++3802ERR33-C. Detect and handle standard library errors
C++3803ERR33-C. Detect and handle standard library errors
C++3804ERR33-C. Detect and handle standard library errors
C++3807EXP35-C. Do not modify objects with temporary lifetime
C++3808EXP35-C. Do not modify objects with temporary lifetime
C++3842MSC41-C. Never hard code sensitive information
C++3854SIG31-C. Do not access shared objects in signal handlers
C++3855SIG31-C. Do not access shared objects in signal handlers
C++4022MSC37-C. Ensure that control never reaches the end of a non-void function
C++4026DCL30-C. Declare objects with appropriate storage durations
C++4071EXP45-C. Do not perform assignments in selection statements
C++4074EXP45-C. Do not perform assignments in selection statements
C++4122MSC40-C. Do not violate constraints
C++4150CON40-C. Do not refer to an atomic variable twice in an expression
C++4234FLP30-C. Do not use floating-point variables as loop counters
C++4303MEM30-C. Do not access freed memory
C++4304MEM30-C. Do not access freed memory
C++4624DCL30-C. Declare objects with appropriate storage durations
C++4629DCL30-C. Declare objects with appropriate storage durations
C++5009STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
C++5016ERR34-C. Detect errors when converting a string to a number
C++5021CON33-C. Avoid race conditions when using library functions
C++5022SIG34-C. Do not call signal() from within interruptible signal handlers
C++5022CON37-C. Do not call signal() in a multithreaded program
C++5023CON41-C. Wrap functions that can fail spuriously in a loop
C++5029MSC30-C. Do not use the rand() function for generating pseudorandom numbers
C++5030MSC33-C. Do not pass invalid data to the asctime() function
C++5031ENV33-C. Do not call system()
C++5033FLP32-C. Prevent or detect domain and range errors in math functions
C++5034MEM36-C. Do not modify the alignment of objects by calling realloc()
C++5036MSC32-C. Properly seed pseudorandom number generators
C++5038STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
C++5039MSC38-C. Do not treat a predefined identifier as an object if it might only be implemented as a macro
DF2668ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
DF2669ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
DF2681ENV34-C. Do not store pointers returned by certain functions
DF2682ENV34-C. Do not store pointers returned by certain functions
DF2683ENV34-C. Do not store pointers returned by certain functions
DF2696FIO46-C. Do not access a closed file
DF2697FIO46-C. Do not access a closed file
DF2698FIO46-C. Do not access a closed file
DF2701FIO42-C. Close files when they are no longer needed
DF2702FIO42-C. Close files when they are no longer needed
DF2703FIO42-C. Close files when they are no longer needed
DF2706MEM31-C. Free dynamically allocated memory when no longer needed
DF2707MEM31-C. Free dynamically allocated memory when no longer needed
DF2708MEM31-C. Free dynamically allocated memory when no longer needed
DF2721MEM34-C. Only free memory allocated dynamically
DF2722MEM34-C. Only free memory allocated dynamically
DF2723MEM34-C. Only free memory allocated dynamically
DF2726EXP33-C. Do not read uninitialized memory
DF2727EXP33-C. Do not read uninitialized memory
DF2728EXP33-C. Do not read uninitialized memory
DF2761ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
DF2762ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
DF2763ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
DF2766ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
DF2767ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
DF2768ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
DF2771ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
DF2772ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
DF2773ARR36-C. Do not subtract or compare two pointers that do not refer to the same array
DF2791INT34-C. Do not shift an expression by a negative number of bits or by greater than or equal to the number of bits that exist in the operand
DF2792INT34-C. Do not shift an expression by a negative number of bits or by greater than or equal to the number of bits that exist in the operand
DF2793INT34-C. Do not shift an expression by a negative number of bits or by greater than or equal to the number of bits that exist in the operand
DF2794INT04-C. Enforce limits on integer values originating from tainted sources
DF2796STR37-C. Arguments to character-handling functions must be representable as an unsigned char
DF2797STR37-C. Arguments to character-handling functions must be representable as an unsigned char
DF2798STR37-C. Arguments to character-handling functions must be representable as an unsigned char
DF2799STR37-C. Arguments to character-handling functions must be representable as an unsigned char
DF2801INT32-C. Ensure that operations on signed integers do not result in overflow
DF2801INT08-C. Verify that all integer values are in range
DF2802INT32-C. Ensure that operations on signed integers do not result in overflow
DF2802INT08-C. Verify that all integer values are in range
DF2803INT32-C. Ensure that operations on signed integers do not result in overflow
DF2803INT08-C. Verify that all integer values are in range
DF2804INT04-C. Enforce limits on integer values originating from tainted sources
DF2806STR00-C. Represent characters using an appropriate type
DF2807STR00-C. Represent characters using an appropriate type
DF2808STR00-C. Represent characters using an appropriate type
DF2810EXP34-C. Do not dereference null pointers
DF2811EXP34-C. Do not dereference null pointers
DF2812EXP34-C. Do not dereference null pointers
DF2813EXP34-C. Do not dereference null pointers
DF2816STR00-C. Represent characters using an appropriate type
DF2817STR00-C. Represent characters using an appropriate type
DF2818STR00-C. Represent characters using an appropriate type
DF2820ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
DF2820ERR33-C. Detect and handle standard library errors
DF2821ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
DF2821ERR33-C. Detect and handle standard library errors
DF2822ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
DF2822ERR33-C. Detect and handle standard library errors
DF2823ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
DF2823ERR33-C. Detect and handle standard library errors
DF2824ERR33-C. Detect and handle standard library errors
DF2831INT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors
DF2832INT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors
DF2833INT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors
DF2835STR32-C. Do not pass a non-null-terminated character sequence to a library function that expects a string
DF2836STR32-C. Do not pass a non-null-terminated character sequence to a library function that expects a string
DF2839STR32-C. Do not pass a non-null-terminated character sequence to a library function that expects a string
DF2840ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
DF2840ARR38-C. Guarantee that library functions do not form invalid pointers
DF2840STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
DF2840MEM35-C. Allocate sufficient memory for an object
DF2841ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
DF2841ARR38-C. Guarantee that library functions do not form invalid pointers
DF2841STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
DF2841MEM35-C. Allocate sufficient memory for an object
DF2842ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
DF2842ARR38-C. Guarantee that library functions do not form invalid pointers
DF2842STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
DF2842MEM35-C. Allocate sufficient memory for an object
DF2843ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
DF2843ARR38-C. Guarantee that library functions do not form invalid pointers
DF2843STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
DF2843MEM35-C. Allocate sufficient memory for an object
DF2845ARR38-C. Guarantee that library functions do not form invalid pointers
DF2845STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
DF2846ARR38-C. Guarantee that library functions do not form invalid pointers
DF2846STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
DF2847ARR38-C. Guarantee that library functions do not form invalid pointers
DF2847STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
DF2848ARR38-C. Guarantee that library functions do not form invalid pointers
DF2848STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
DF2851INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
DF2852INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
DF2853INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
DF2854INT04-C. Enforce limits on integer values originating from tainted sources
DF2856INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
DF2857INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
DF2858INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
DF2859INT04-C. Enforce limits on integer values originating from tainted sources
DF2861INT32-C. Ensure that operations on signed integers do not result in overflow
DF2862INT32-C. Ensure that operations on signed integers do not result in overflow
DF2863INT32-C. Ensure that operations on signed integers do not result in overflow
DF2864INT04-C. Enforce limits on integer values originating from tainted sources
DF2877MSC07-C. Detect and remove dead code
DF2880MSC07-C. Detect and remove dead code
DF2881MSC07-C. Detect and remove dead code
DF2882MSC07-C. Detect and remove dead code
DF2883MSC07-C. Detect and remove dead code
DF2888MSC37-C. Ensure that control never reaches the end of a non-void function
DF2891INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
DF2892INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
DF2893INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
DF2894INT04-C. Enforce limits on integer values originating from tainted sources
DF2896INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
DF2897INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
DF2898INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
DF2899INT04-C. Enforce limits on integer values originating from tainted sources
DF2901INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
DF2902INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
DF2903INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
DF2904INT04-C. Enforce limits on integer values originating from tainted sources
DF2906INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
DF2907INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
DF2908INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
DF2909INT04-C. Enforce limits on integer values originating from tainted sources
DF2911INT30-C. Ensure that unsigned integer operations do not wrap
DF2911INT08-C. Verify that all integer values are in range
DF2912INT30-C. Ensure that unsigned integer operations do not wrap
DF2912INT08-C. Verify that all integer values are in range
DF2913INT30-C. Ensure that unsigned integer operations do not wrap
DF2913INT08-C. Verify that all integer values are in range
DF2914INT04-C. Enforce limits on integer values originating from tainted sources
DF2924INT04-C. Enforce limits on integer values originating from tainted sources
DF2930ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
DF2930ARR37-C. Do not add or subtract an integer to a pointer to a non-array object
DF2930STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
DF2930ERR33-C. Detect and handle standard library errors
DF2931ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
DF2931ARR37-C. Do not add or subtract an integer to a pointer to a non-array object
DF2931STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
DF2931ERR33-C. Detect and handle standard library errors
DF2932ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
DF2932ARR37-C. Do not add or subtract an integer to a pointer to a non-array object
DF2932STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
DF2932ERR33-C. Detect and handle standard library errors
DF2933ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
DF2933ARR37-C. Do not add or subtract an integer to a pointer to a non-array object
DF2933STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
DF2933ERR33-C. Detect and handle standard library errors
DF2934ERR33-C. Detect and handle standard library errors
DF2935ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
DF2935ARR38-C. Guarantee that library functions do not form invalid pointers
DF2935STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
DF2935MEM35-C. Allocate sufficient memory for an object
DF2936ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
DF2936ARR38-C. Guarantee that library functions do not form invalid pointers
DF2936STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
DF2936MEM35-C. Allocate sufficient memory for an object
DF2937ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
DF2937ARR38-C. Guarantee that library functions do not form invalid pointers
DF2937STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
DF2937MEM35-C. Allocate sufficient memory for an object
DF2938ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
DF2938ARR38-C. Guarantee that library functions do not form invalid pointers
DF2938STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
DF2938MEM35-C. Allocate sufficient memory for an object
DF2941INT16-C. Do not make assumptions about representation of signed integers
DF2942INT16-C. Do not make assumptions about representation of signed integers
DF2943INT16-C. Do not make assumptions about representation of signed integers
DF2944INT04-C. Enforce limits on integer values originating from tainted sources
DF2946INT16-C. Do not make assumptions about representation of signed integers
DF2947INT16-C. Do not make assumptions about representation of signed integers
DF2948INT16-C. Do not make assumptions about representation of signed integers
DF2949INT04-C. Enforce limits on integer values originating from tainted sources
DF2950ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
DF2951ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
DF2952ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
DF2953ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
DF2954INT04-C. Enforce limits on integer values originating from tainted sources
DF2956INT04-C. Enforce limits on integer values originating from tainted sources
DF2959INT04-C. Enforce limits on integer values originating from tainted sources
DF2961EXP33-C. Do not read uninitialized memory
DF2962EXP33-C. Do not read uninitialized memory
DF2963EXP33-C. Do not read uninitialized memory
DF2966EXP33-C. Do not read uninitialized memory
DF2967EXP33-C. Do not read uninitialized memory
DF2968EXP33-C. Do not read uninitialized memory
DF2971EXP33-C. Do not read uninitialized memory
DF2972EXP33-C. Do not read uninitialized memory
DF2973EXP33-C. Do not read uninitialized memory
DF2976EXP33-C. Do not read uninitialized memory
DF2977EXP33-C. Do not read uninitialized memory
DF2978EXP33-C. Do not read uninitialized memory
DF2980MSC07-C. Detect and remove dead code
DF2980MSC13-C. Detect and remove unused values
DF2981MSC07-C. Detect and remove dead code
DF2981MSC13-C. Detect and remove unused values
DF2982MSC07-C. Detect and remove dead code
DF2982MSC13-C. Detect and remove unused values
DF2983MSC07-C. Detect and remove dead code
DF2983MSC13-C. Detect and remove unused values
DF2984MSC07-C. Detect and remove dead code
DF2984MSC13-C. Detect and remove unused values
DF2985MSC07-C. Detect and remove dead code
DF2985MSC13-C. Detect and remove unused values
DF2986MSC07-C. Detect and remove dead code
DF2986MSC13-C. Detect and remove unused values
DF3556MSC41-C. Never hard code sensitive information
DF3557MSC41-C. Never hard code sensitive information
DF3558MSC41-C. Never hard code sensitive information
DF3581STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
DF3582STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
DF3583STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
DF3586STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
DF3587STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
DF3589STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator
DF4711FIO39-C. Do not alternately input and output from a stream without an intervening flush or positioning call
DF4712FIO39-C. Do not alternately input and output from a stream without an intervening flush or positioning call
DF4713FIO39-C. Do not alternately input and output from a stream without an intervening flush or positioning call
DF4726EXP42-C. Do not compare padding data
DF4727EXP42-C. Do not compare padding data
DF4728EXP42-C. Do not compare padding data
DF4729EXP42-C. Do not compare padding data
DF4751ENV30-C. Do not modify the object referenced by the return value of certain functions
DF4752ENV30-C. Do not modify the object referenced by the return value of certain functions
DF4753ENV30-C. Do not modify the object referenced by the return value of certain functions
DF4781ERR32-C. Do not rely on indeterminate values of errno
DF4782ERR32-C. Do not rely on indeterminate values of errno
DF4783ERR32-C. Do not rely on indeterminate values of errno
DF4841FIO44-C. Only use values for fsetpos() that are returned from fgetpos()
DF4842FIO44-C. Only use values for fsetpos() that are returned from fgetpos()
DF4843FIO44-C. Only use values for fsetpos() that are returned from fgetpos()
DF4846SIG35-C. Do not return from a computational exception signal handler
DF4847SIG35-C. Do not return from a computational exception signal handler
DF4848SIG35-C. Do not return from a computational exception signal handler
DF4851FIO45-C. Avoid TOCTOU race conditions while accessing files
DF4852FIO45-C. Avoid TOCTOU race conditions while accessing files
DF4853FIO45-C. Avoid TOCTOU race conditions while accessing files
DF4856ENV32-C. All exit handlers must return normally
DF4857ENV32-C. All exit handlers must return normally
DF4858ENV32-C. All exit handlers must return normally
DF4861FIO40-C. Reset strings on fgets() or fgetws() failure
DF4862FIO40-C. Reset strings on fgets() or fgetws() failure
DF4863FIO40-C. Reset strings on fgets() or fgetws() failure
DF4866MEM30-C. Do not access freed memory
DF4867MEM30-C. Do not access freed memory
DF4868MEM30-C. Do not access freed memory
DF4871MEM30-C. Do not access freed memory
DF4872MEM30-C. Do not access freed memory
DF4873MEM30-C. Do not access freed memory
DF4876POS37-C. Ensure that privilege relinquishment is successful
DF4877POS37-C. Ensure that privilege relinquishment is successful
DF4878POS37-C. Ensure that privilege relinquishment is successful
DF4880ARR38-C. Guarantee that library functions do not form invalid pointers
DF4881ARR38-C. Guarantee that library functions do not form invalid pointers
DF4882ARR38-C. Guarantee that library functions do not form invalid pointers
DF4883ARR38-C. Guarantee that library functions do not form invalid pointers
DF4886POS35-C. Avoid race conditions while checking for the existence of a symbolic link
DF4887POS35-C. Avoid race conditions while checking for the existence of a symbolic link
DF4888POS35-C. Avoid race conditions while checking for the existence of a symbolic link
DF4891POS36-C. Observe correct revocation order while relinquishing privileges
DF4892POS36-C. Observe correct revocation order while relinquishing privileges
DF4893POS36-C. Observe correct revocation order while relinquishing privileges
DF4906POS39-C. Use the correct byte ordering when transferring data between systems
DF4907POS39-C. Use the correct byte ordering when transferring data between systems
DF4908POS39-C. Use the correct byte ordering when transferring data between systems
DF4916FIO30-C. Exclude user input from format strings
DF4917FIO30-C. Exclude user input from format strings
DF4918FIO30-C. Exclude user input from format strings
DF4921FIO32-C. Do not perform operations on devices that are only appropriate for files
DF4922FIO32-C. Do not perform operations on devices that are only appropriate for files
DF4923FIO32-C. Do not perform operations on devices that are only appropriate for files
DF4926CON34-C. Declare objects shared between threads with appropriate storage durations
DF4926POS50-C. Declare objects shared between POSIX threads with appropriate storage durations
DF4927CON34-C. Declare objects shared between threads with appropriate storage durations
DF4927POS50-C. Declare objects shared between POSIX threads with appropriate storage durations
DF4928CON34-C. Declare objects shared between threads with appropriate storage durations
DF4928POS50-C. Declare objects shared between POSIX threads with appropriate storage durations
DF4941DCL39-C. Avoid information leakage when passing a structure across a trust boundary
DF4942DCL39-C. Avoid information leakage when passing a structure across a trust boundary
DF4943DCL39-C. Avoid information leakage when passing a structure across a trust boundary
DF4951POS38-C. Beware of race conditions when using fork and file descriptors
DF4952POS38-C. Beware of race conditions when using fork and file descriptors
DF4955ARR39-C. Do not add or subtract a scaled integer to a pointer
DF4956ARR39-C. Do not add or subtract a scaled integer to a pointer
DF4957ARR39-C. Do not add or subtract a scaled integer to a pointer
DF4961CON31-C. Do not destroy a mutex while it is locked
DF4962CON31-C. Do not destroy a mutex while it is locked
DF4966POS52-C. Do not perform operations that can block while holding a POSIX lock
DF4967POS52-C. Do not perform operations that can block while holding a POSIX lock
DF4971POS48-C. Do not unlock or destroy another POSIX thread's mutex
DF4972POS48-C. Do not unlock or destroy another POSIX thread's mutex
DF4976CON33-C. Avoid race conditions when using library functions
DF4977CON33-C. Avoid race conditions when using library functions
DF4981POS48-C. Do not unlock or destroy another POSIX thread's mutex
DF4982POS48-C. Do not unlock or destroy another POSIX thread's mutex
DF4991ENV31-C. Do not rely on an environment pointer following an operation that may invalidate it
DF4992ENV31-C. Do not rely on an environment pointer following an operation that may invalidate it
DF4993ENV31-C. Do not rely on an environment pointer following an operation that may invalidate it