You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 30 Next »

Generated Content

This page is automatically generated from the "Automated Detection" sections in the individual guidelines. Do not modify this page directly.

Version number:
9.1

C checkers

Guideline

ABR

void ARR33-C. Guarantee that copies are made into storage of sufficient size

ABV.ITERATOR

ARR30-C. Do not form or use out-of-bounds pointers or array subscripts

ASSIGCOND.BOOL

MSC02-C. Avoid errors of omission

ASSIGCOND.CALL

EXP45-C. Do not perform assignments in selection statements

ASSIGCOND.CALL

MSC02-C. Avoid errors of omission

ASSIGCOND.GEN

EXP45-C. Do not perform assignments in selection statements

ASSIGCOND.GEN

MSC02-C. Avoid errors of omission

EFFECT

EXP16-C. Do not compare function pointers to constant values

EFFECT

MSC02-C. Avoid errors of omission

EFFECT

MSC12-C. Detect and remove code that has no effect

FNH.MIGHT

MEM34-C. Only free memory allocated dynamically

FNH.MUST

MEM34-C. Only free memory allocated dynamically

FUM.GEN.MIGHT

MEM34-C. Only free memory allocated dynamically

FUM.GEN.MUST

MEM34-C. Only free memory allocated dynamically

IF_DEF_IN_HEADER_DECL

DCL36-C. Do not declare an identifier with conflicting linkage classifications

IF_DUPL_HEADER

PRE08-C. Guarantee that header file names are unique

IF_MISS_DECL

DCL31-C. Declare identifiers before using them

IF_MULTI_DECL

DCL01-C. Do not reuse variable names in subscopes

IF_MULTI_DECL

DCL36-C. Do not declare an identifier with conflicting linkage classifications

IF_MULTI_DEF

DCL01-C. Do not reuse variable names in subscopes

IF_MULTI_KIND

DCL01-C. Do not reuse variable names in subscopes

INCORRECT.ALLOC_SIZE

VOID EXP01-C. Do not take the size of a pointer to determine the size of the pointed-to type

LA_UNUSED

MSC01-C. Strive for logical completeness

LOCRET.*

DCL30-C. Declare objects with appropriate storage durations

LV_UNUSED.GEN

MSC07-C. Detect and remove dead code

MLK

MEM31-C. Free dynamically allocated memory when no longer needed

 

MSC13-C. Detect and remove unused values

NNTS

STR03-C. Do not inadvertently truncate a string

NNTS

STR32-C. Do not pass a non-null-terminated character sequence to a library function that expects a string

NNTS.TAINTED

STR02-C. Sanitize data passed to complex subsystems

NNTS.TAINTED

VOID STR35-C. Do not copy data from an unbounded source to a fixed-length array

NPD.* RNPD.

EXP34-C. Do not dereference null pointers

PRECISION.LOSS

INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data

RETVOID.IMPLICIT

DCL31-C. Declare identifiers before using them

RH.LEAK

FIO22-C. Close files before spawning processes

SEMICOL

EXP15-C. Do not place a semicolon on the same line as an if, for, or while statement

 

STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator

SV.CODE_INJECTION.SHELL_EXEC

ENV33-C. Do not call system()

SV.CUDS.MISSING_ABSOLUTE_PATH

FIO02-C. Canonicalize path names originating from tainted sources

SV.FIU.PERMISSIONS

POS36-C. Observe correct revocation order while relinquishing privileges

SV.FIU.PERMISSIONS

POS37-C. Ensure that privilege relinquishment is successful

SV.FMT_STR.BAD_SCAN_FORMAT

void STR33-C. Size wide character strings correctly

SV.FMT_STR

FIO47-C. Use valid format strings

SV.FMTSTR.GENERIC

FIO30-C. Exclude user input from format strings

SV.RVT.RETVAL_NOTTESTED

EXP12-C. Do not ignore values returned by functions

SV.STRBO.GETS

VOID STR35-C. Do not copy data from an unbounded source to a fixed-length array

SV.TAINTED.FMTSTR

FIO30-C. Exclude user input from format strings

SV.TAINTED.INJECTION

ENV33-C. Do not call system()

SV.TAINTED.INJECTION

STR02-C. Sanitize data passed to complex subsystems

SV.TAINTED.LOOP_BOUND

ARR30-C. Do not form or use out-of-bounds pointers or array subscripts

SV.TOCTOU.FILE_ACCESS

FIO01-C. Be careful using functions that use file names for identification

SV.USAGERULES.PERMISSIONS

POS36-C. Observe correct revocation order while relinquishing privileges

SV.USAGERULES.PERMISSIONS

POS37-C. Ensure that privilege relinquishment is successful

SV.USAGERULES.PROCESS_VARIANTS

POS33-C. Do not use vfork()

SV.USAGERULES.UNBOUNDED_STRING_COPY

VOID STR35-C. Do not copy data from an unbounded source to a fixed-length array

SV.USAGERULES.UNINTENDED_COPY

MEM03-C. Clear sensitive information stored in reusable resources

UFM.DEREF.MIGHT

MEM30-C. Do not access freed memory

UFM.DEREF.MUST

MEM30-C. Do not access freed memory

UFM.FFM

MEM31-C. Free dynamically allocated memory when no longer needed

UFM.RETURN.MIGHT

MEM30-C. Do not access freed memory

UFM.RETURN.MUST

MEM30-C. Do not access freed memory

UFM.USE.MIGHT

MEM30-C. Do not access freed memory

UFM.USE.MUST

MEM30-C. Do not access freed memory

UNINIT.HEAP.MIGHT

EXP33-C. Do not read uninitialized memory

UNINIT.HEAP.MUST

EXP33-C. Do not read uninitialized memory

UNINIT.STACK.ARRAY.MIGHT

EXP33-C. Do not read uninitialized memory

UNINIT.STACK.ARRAY.MUST

EXP33-C. Do not read uninitialized memory

UNINIT.STACK.ARRAY.PARTIAL.MUST

EXP33-C. Do not read uninitialized memory

UNINIT.STACK.MUST

EXP33-C. Do not read uninitialized memory

UNREACH.*

MSC07-C. Detect and remove dead code

VA_UNUSED.*

MSC07-C. Detect and remove dead code

  • No labels