CWE IDs mapped to Klocwork C and C++ checkers

From current

Reference > Coding standards > CWE IDs mapped to Klocwork C and C++ checkers

This mapping is based on CWE version 2.1.

See also C and C++ checker reference.

CWE ID Klocwork Issue Code and Description
20 ABV.TAINTED Buffer Overflow from Unvalidated Input
SV.TAINTED.ALLOC_SIZE Use of Unvalidated Integer in Memory Allocation
SV.TAINTED.CALL.INDEX_ACCESS Use of Unvalidated Integer as Array Index by Function Call
22 SV.DLLPRELOAD.NONABSOLUTE.DLL Loading File without Use of Absolute Path
73 SV.DLLPRELOAD.NONABSOLUTE.DLL Loading File without Use of Absolute Path
74 SV.TAINTED.INJECTION Command Injection
77 SV.CODE_INJECTION.SHELL_EXEC Command Injection into Shell Execution
78 NNTS.TAINTED Unvalidated User Input Causing Buffer Overflow - Non-Null Terminated String
SV.TAINTED.INJECTION Command Injection
88 SV.TAINTED.INJECTION Command Injection
NNTS.TAINTED Unvalidated User Input Causing Buffer Overflow - Non-Null Terminated String
119 SV.TAINTED.LOOP_BOUND Use of Unvalidated Integer in Loop Condition
ABR Buffer Overflow - Array Index Out of Bounds
ABV.ITERATOR Buffer Overflow - Array Index may be out of Bounds
120 ABR Buffer Overflow - Array Index Out of Bounds
NNTS.TAINTED Unvalidated User Input Causing Buffer Overflow - Non-Null Terminated String
SV.STRBO.UNBOUND_COPY Buffer Overflow in Unbound String Copy
SV.STRBO.UNBOUND_SPRINTF Buffer Overflow in Unbound sprintf
129 SV.TAINTED.ALLOC_SIZE Use of Unvalidated Integer in Memory Allocation
ABV.TAINTED Buffer Overflow from Unvalidated Input
SV.TAINTED.CALL.INDEX_ACCESS Use of Unvalidated Integer as Array Index by Function Call
SV.TAINTED.INDEX_ACCESS Use of Unvalidated Integer as Array Index
134 SV.TAINTED.FMTSTR Use of Unvalidated Data in a Format String
SV.FMTSTR.GENERIC Format String Vulnerability
135 SV.FMT_STR.BAD_SCAN_FORMAT Input format specifier error
170 NNTS.TAINTED Unvalidated User Input Causing Buffer Overflow - Non-Null Terminated String
NNTS.MIGHT Buffer Overflow - Non-null Terminated String
NNTS.MUST Buffer Overflow - Non-null Terminated String
SV.STRBO.BOUND_COPY Buffer Overflow in Bound String Copy
SV.STRBO.BOUND_SPRINTF Buffer Overflow in Bound sprintf
193 SV.STRBO.BOUND_COPY Buffer Overflow in Bound String Copy
SV.STRBO.BOUND_SPRINTF Buffer Overflow in Bound sprintf
197 PRECISION.LOSS Loss of Precision
242 SV.PIPE.VAR Use of Insecure Parameter for Dangerous Functions - possible
SV.FIU.PROCESS_VARIANTS Use of Dangerous Process Creation
SV.STRBO.UNBOUND_COPY Buffer Overflow in Unbound String Copy
SV.USAGERULES.PROCESS_VARIANTS Use of Dangerous Process Creation Function
SV.STRBO.UNBOUND_SPRINTF Buffer Overflow in Unbound sprintf
250 SV.USAGERULES.PERMISSIONS Use of function that manipulates Access Control Lists
265 SV.USAGERULES.PERMISSIONS Use of function that manipulates Access Control Lists
272 SV.BRM.HKEY_LOCAL_MACHINE HKEY_LOCAL_MACHINE Used as 'hkey' Parameter for Registry Manipulation Function
284 SV.LPP.CONST, SV.PIPE.CONST Use of Insecure Macro for Dangerous Functions
SV.LPP.VAR Use of Insecure Parameter for Dangerous Functions
367 SV.TOCTOU.FILE_ACCESS Time of Creation/Time of Use Race condition in File Access
391 SV.RVT.RETVAL_NOTTESTED Ignored Return Value
401 FREE.INCONSISTENT Inconsistent Freeing of Memory
MLK.MIGHT Memory Leak - possible
MLK.MUST Memory Leak
403 RH.LEAK Resource leak
404 RH.LEAK Resource leak
FMM.MIGHT Freeing Mismatched Memory - possible
FMM.MUST Freeing Mismatched Memory
415 UFM.FFM.MIGHT Use of free memory (double free) - possible
UFM.FFM.MUST Freeing Freed Memory
416 UFM.DEREF.MIGHT Use of free memory (access) - possible
UFM.DEREF.MUST Use of Freed Memory by Pointer
UFM.RETURN.MIGHT Use of freed memory (return) - possible
UFM.RETURN.MUST Use of Freed Memory on Return
UFM.USE.MIGHT Use of free memory - possible
UFM.USE.MUST Use of Freed Memory
457 UNINIT.CTOR.MIGHT Uninitialized Variable in Constructor - possible
UNINIT.CTOR.MUST Uninitialized Variable in Constructor
UNINIT.HEAP.MIGHT Uninitialized Heap Use - possible
UNINIT.HEAP.MUST Uninitialized Heap Use
UNINIT.STACK.MIGHT Uninitialized Variable - possible
UNINIT.STACK.MUST Uninitialized Variable
467 INCORRECT.ALLOC_SIZE Incorrect Allocation Size
476 NPD.CHECK.CALL.MIGHT Pointer may be passed to function that can dereference it after it was positively checked for NULL
NPD.CHECK.CALL.MUST Pointer will be passed to function that may dereference it after it was positively checked for NULL
NPD.CHECK.MIGHT Pointer may be dereferenced after it was positively checked for NULL
NPD.CHECK.MUST Pointer will be dereferenced after it was positively checked for NULL
NPD.CONST.CALL NULL is passed to function that can dereference it
NPD.CONST.DEREF NULL is dereferenced
NPD.FUNC.CALL.MIGHT Result of function that may return NULL may be passed to another function that may dereference it
NPD.FUNC.CALL.MUST Result of function that may return NULL will be passed to another function that may dereference it
NPD.FUNC.MIGHT Result of function that can return NULL may be dereferenced
NPD.FUNC.MUST Result of function that may return NULL will be dereferenced
NPD.GEN.CALL.MIGHT Null pointer may be passed to function that may dereference it
NPD.GEN.CALL.MUST Null pointer will be passed to function that may dereference it
NPD.GEN.MIGHT Null pointer may be dereferenced
NPD.GEN.MUST Null pointer will be dereferenced
RNPD.CALL Suspicious dereference of pointer in function call before NULL check
RNPD.DEREF Suspicious dereference of pointer before NULL check
478 LA_UNUSED Label unused
480 SEMICOL Suspiciously placed semicolon
ASSIGCOND.CALL Assignment in condition (call)
ASSIGCOND.GEN Assignment in condition
EFFECT Statement has no effect
482 ASSIGCOND.CALL Assignment in condition (call)
ASSIGCOND.GEN Assignment in condition
561 UNREACH.GEN Unreachable code
UNREACH.RETURN Unreachable return
VA_UNUSED.GEN Value is Never Used after Assignment
VA_UNUSED.INIT Value is Never Used after Initialization
LA_UNUSED Label unused
562 LOCRET.ARG Function returns address of local variable
LOCRET.GLOB Function returns address of local variable
LOCRET.RET Function returns address of local variable
563 LV_UNUSED.GEN Local variable unused
590 FNH.MIGHT Freeing Non-Heap Memory - possible
FNH.MUST Freeing Non-Heap Memory
FUM.GEN.MIGHT Freeing Unallocated Memory - possible
FUM.GEN.MUST Freeing Unallocated Memory
686 SV.FMT_STR.PRINT_FORMAT_MISMATCH.BAD Incompatible type of a print function parameter
SV.FMT_STR.PRINT_FORMAT_MISMATCH.UNDESIRED Unexpected type of a print function parameter
SV.FMT_STR.PRINT_IMPROP_LENGTH Improper use of length modifier in a print function call
SV.FMT_STR.PRINT_PARAMS_WRONGNUM.FEW Too few arguments in a print function call
SV.FMT_STR.PRINT_PARAMS_WRONGNUM.MANY Too many arguments in a print function call
SV.FMT_STR.UNKWN_FORMAT Unknown format specifier in a print function call
754 SV.RVT.RETVAL_NOTTESTED Ignored Return Value