| Checker | CERT-C | CERT-CPP | Description |
| arithOperationsOnVoidPointer | API04-C. Provide a consistent and usable error-checking mechanism |
| Fully implemented |
| arrayIndexOutOfBoundsCond | ARR30-C. Do not form or use out-of-bounds pointers or array subscripts | | Fully implemented |
| assignmentInAssert | ARR30-C. Do not form or use out-of-bounds pointers or array subscripts | | Fully implemented |
| autoVariables | ARR30-C. Do not form or use out-of-bounds pointers or array subscripts |
| Fully implemented |
| autovarInvalidDeallocation | ARR30-C. Do not form or use out-of-bounds pointers or array subscripts |
| Fully implemented |
| C01 | ARR30-C. Do not form or use out-of-bounds pointers or array subscripts | CTR52-CPP. Guarantee that library functions do not overflow | Fully implemented |
| C02 | ARR30-C. Do not form or use out-of-bounds pointers or array subscripts | | Fully implemented |
| C03 | ARR30-C. Do not form or use out-of-bounds pointers or array subscripts | | Fully implemented |
| C04 | ARR30-C. Do not form or use out-of-bounds pointers or array subscripts | CTR52-CPP. Guarantee that library functions do not overflow | Fully implemented |
| C05 | ARR30-C. Do not form or use out-of-bounds pointers or array subscripts |
| Fully implemented |
| C06 | ARR30-C. Do not form or use out-of-bounds pointers or array subscripts | | Fully implemented |
| C07 | ARR30-C. Do not form or use out-of-bounds pointers or array subscripts |
| Fully implemented |
| C08 | ARR30-C. Do not form or use out-of-bounds pointers or array subscripts | | Fully implemented |
| C08 | ARR30-C. Do not form or use out-of-bounds pointers or array subscripts | | Fully implemented |
| C09 | ARR30-C. Do not form or use out-of-bounds pointers or array subscripts |
| Fully implemented |
| C10 | ARR30-C. Do not form or use out-of-bounds pointers or array subscripts |
| Fully implemented |
| C101 | ARR32-C. Ensure size arguments for variable length arrays are in a valid range | | Fully implemented |
| C107 | ARR36-C. Do not subtract or compare two pointers that do not refer to the same array | | Fully implemented |
| C109 | ARR38-C. Guarantee that library functions do not form invalid pointers |
| Fully implemented |
| C11 | CON02-C. Do not use volatile as a synchronization primitive |
| Fully implemented |
| C12 | CON05-C. Do not perform operations that can block while holding a lock |
| Fully implemented |
| C122 | CON40-C. Do not refer to an atomic variable twice in an expression |
| Fully implemented |
| C123 | CON40-C. Do not refer to an atomic variable twice in an expression |
| Fully implemented |
| C126 | DCL01-C. Do not reuse variable names in subscopes |
| Fully implemented |
| C127 | DCL01-C. Do not reuse variable names in subscopes |
| Fully implemented |
| C129 | DCL03-C. Use a static assertion to test the value of a constant expression |
| Fully implemented |
| C13 | DCL03-C. Use a static assertion to test the value of a constant expression |
| Fully implemented |
| C130 | DCL03-C. Use a static assertion to test the value of a constant expression |
| Fully implemented |
| C132 | DCL03-C. Use a static assertion to test the value of a constant expression |
| Fully implemented |
| C133 | DCL03-C. Use a static assertion to test the value of a constant expression |
| Fully implemented |
| C135 | DCL03-C. Use a static assertion to test the value of a constant expression |
| Fully implemented |
| C14 | DCL03-C. Use a static assertion to test the value of a constant expression |
| Fully implemented |
| C15 | DCL03-C. Use a static assertion to test the value of a constant expression |
| Fully implemented |
| C154 | DCL03-C. Use a static assertion to test the value of a constant expression |
| Fully implemented |
| C155 | DCL03-C. Use a static assertion to test the value of a constant expression |
| Fully implemented |
| C16 | DCL13-C. Declare function parameters that are pointers to values not changed by the function as const |
| Fully implemented |
| C17 | FIO39-C. Do not alternately input and output from a stream without an intervening flush or positioning call | FIO50-CPP. Do not alternately input and output from a file stream without an intervening positioning call | Fully implemented |
| C176 | DCL30-C. Declare objects with appropriate storage durations | | Fully implemented |
| C177 | DCL30-C. Declare objects with appropriate storage durations | | Fully implemented |
| C178 | DCL30-C. Declare objects with appropriate storage durations | | Fully implemented |
| C179 | DCL30-C. Declare objects with appropriate storage durations | | Fully implemented |
| C18 | DCL30-C. Declare objects with appropriate storage durations | | Fully implemented |
| C19 | DCL31-C. Declare identifiers before using them |
| Fully implemented |
| C20 | DCL39-C. Avoid information leakage when passing a structure across a trust boundary |
| Fully implemented |
| C21 | DCL39-C. Avoid information leakage when passing a structure across a trust boundary |
| Fully implemented |
| C22 | DCL39-C. Avoid information leakage when passing a structure across a trust boundary |
| Fully implemented |
| C23 | DCL39-C. Avoid information leakage when passing a structure across a trust boundary |
| Fully implemented |
| C24 | ARR36-C. Do not subtract or compare two pointers that do not refer to the same array | STR52-CPP. Use valid references, pointers, and iterators to reference elements of a basic_string | Fully implemented |
| C25 | DCL39-C. Avoid information leakage when passing a structure across a trust boundary |
| Fully implemented |
| C26 | DCL40-C. Do not create incompatible declarations of the same function or object |
| Fully implemented |
| C27 | ENV30-C. Do not modify the object referenced by the return value of certain functions |
| Fully implemented |
| C28 | ENV30-C. Do not modify the object referenced by the return value of certain functions |
| Fully implemented |
| C29 | ENV30-C. Do not modify the object referenced by the return value of certain functions |
| Fully implemented |
| C31 | ERR04-C. Choose an appropriate termination strategy |
| Fully implemented |
| C32 | ERR05-C. Application-independent code should provide error detection without dictating error handling |
| Fully implemented |
| C32 | ERR05-C. Application-independent code should provide error detection without dictating error handling |
| Fully implemented |
| C33 | ERR05-C. Application-independent code should provide error detection without dictating error handling |
| Fully implemented |
| C33 | ERR05-C. Application-independent code should provide error detection without dictating error handling |
| Fully implemented |
| C34 | ERR32-C. Do not rely on indeterminate values of errno |
| Fully implemented |
| C35 |
| ERR51-CPP. Handle all exceptions | Fully implemented |
| C36 | EXP00-C. Use parentheses for precedence of operation |
| Fully implemented |
| C37 | EXP08-C. Ensure pointer arithmetic is used correctly |
| Fully implemented |
| C38 | EXP09-C. Use sizeof to determine the size of a type or variable |
| Fully implemented |
| C39 | EXP09-C. Use sizeof to determine the size of a type or variable |
| Fully implemented |
| C40 | EXP09-C. Use sizeof to determine the size of a type or variable |
| Fully implemented |
| C42 | EXP09-C. Use sizeof to determine the size of a type or variable |
| Fully implemented |
| C44 | EXP09-C. Use sizeof to determine the size of a type or variable |
| Fully implemented |
| C45 | EXP09-C. Use sizeof to determine the size of a type or variable |
| Fully implemented |
| C46 | EXP09-C. Use sizeof to determine the size of a type or variable |
| Fully implemented |
| C46 | EXP09-C. Use sizeof to determine the size of a type or variable |
| Fully implemented |
| C47 | EXP12-C. Do not ignore values returned by functions | | Fully implemented |
| C48 | EXP12-C. Do not ignore values returned by functions | | Fully implemented |
| C49 | ARR30-C. Do not form or use out-of-bounds pointers or array subscripts |
| Fully implemented |
| C50 | EXP14-C. Beware of integer promotion when performing bitwise operations on integer types smaller than int |
| Fully implemented |
| C51 | EXP19-C. Use braces for the body of an if, for, or while statement |
| Fully implemented |
| C52 | DCL03-C. Use a static assertion to test the value of a constant expression |
| Fully implemented |
| C53 | EXP30-C. Do not depend on the order of evaluation for side effects | EXP50-CPP. Do not depend on the order of evaluation for side effects | Fully implemented |
| C54 | EXP33-C. Do not read uninitialized memory | EXP53-CPP. Do not read uninitialized memory | Fully implemented |
| C55 | EXP33-C. Do not read uninitialized memory | EXP53-CPP. Do not read uninitialized memory | Fully implemented |
| C56 | EXP33-C. Do not read uninitialized memory | EXP53-CPP. Do not read uninitialized memory | Fully implemented |
| C57 | EXP33-C. Do not read uninitialized memory | EXP53-CPP. Do not read uninitialized memory | Fully implemented |
| C58 | EXP33-C. Do not read uninitialized memory | EXP53-CPP. Do not read uninitialized memory | Fully implemented |
| C59 | EXP33-C. Do not read uninitialized memory | EXP53-CPP. Do not read uninitialized memory | Fully implemented |
| C60 | EXP33-C. Do not read uninitialized memory | EXP53-CPP. Do not read uninitialized memory | Fully implemented |
| C61 | EXP33-C. Do not read uninitialized memory | EXP53-CPP. Do not read uninitialized memory | Fully implemented |
| C62 | EXP33-C. Do not read uninitialized memory | EXP53-CPP. Do not read uninitialized memory | Fully implemented |
| C63 | EXP33-C. Do not read uninitialized memory | EXP53-CPP. Do not read uninitialized memory | Fully implemented |
| C64 | EXP34-C. Do not dereference null pointers | | Fully implemented |
| C64 | EXP34-C. Do not dereference null pointers |
| Fully implemented |
| C65 | EXP34-C. Do not dereference null pointers |
| Fully implemented |
| C65 | EXP34-C. Do not dereference null pointers |
| Fully implemented |
| C66 | EXP34-C. Do not dereference null pointers | | Fully implemented |
| C67 | EXP36-C. Do not cast pointers into more strictly aligned pointer types |
| Fully implemented |
| C68 | EXP36-C. Do not cast pointers into more strictly aligned pointer types |
| Fully implemented |
| C69 | EXP36-C. Do not cast pointers into more strictly aligned pointer types |
| Fully implemented |
| C70 | EXP36-C. Do not cast pointers into more strictly aligned pointer types |
| Fully implemented |
| C71 | EXP37-C. Call functions with the correct number and type of arguments |
| Fully implemented |
| C73 | EXP40-C. Do not modify constant objects |
| Fully implemented |
| C73 | EXP46-C. Do not use a bitwise operator with a Boolean-like operand | | Fully implemented |
| C74 | EXP46-C. Do not use a bitwise operator with a Boolean-like operand |
| Fully implemented |
| C75 | EXP47-C. Do not call va_arg with an argument of the incorrect type |
| Fully implemented |
| C76 | FIO21-C. Do not create temporary files in shared directories |
| Fully implemented |
| C77 | FIO39-C. Do not alternately input and output from a stream without an intervening flush or positioning call | | Fully implemented |
| C78 | FIO39-C. Do not alternately input and output from a stream without an intervening flush or positioning call | | Fully implemented |
| C79 | FIO39-C. Do not alternately input and output from a stream without an intervening flush or positioning call |
| Fully implemented |
| C80 | FIO39-C. Do not alternately input and output from a stream without an intervening flush or positioning call | | Fully implemented |
| C80 | FIO42-C. Close files when they are no longer needed | FIO51-CPP. Close files when they are no longer needed | Fully implemented |
| C81 | FIO47-C. Use valid format strings | | Fully implemented |
| C82 | FIO47-C. Use valid format strings | | Fully implemented |
| C83 | FIO47-C. Use valid format strings | | Fully implemented |
| C83 | FIO47-C. Use valid format strings | | Fully implemented |
| C84 | FIO47-C. Use valid format strings | | Fully implemented |
| C85 | FIO47-C. Use valid format strings | | Fully implemented |
| C86 | FIO47-C. Use valid format strings | | Fully implemented |
| C86 | FIO47-C. Use valid format strings |
| Fully implemented |
| C87 | FLP03-C. Detect and handle floating-point errors |
| Fully implemented |
| c88 | FLP34-C. Ensure that floating-point conversions are within range of the new type | | Fully implemented |
| C92 | FLP34-C. Ensure that floating-point conversions are within range of the new type | | Fully implemented |
| C999 | INT01-C. Use size_t or rsize_t for all integer values representing the size of an object |
| Fully implemented |
| CbOB | INT02-C. Understand integer conversion rules |
| Fully implemented |
| CconstVariable | INT02-C. Understand integer conversion rules |
| Fully implemented |
| CdLT | INT02-C. Understand integer conversion rules |
| Fully implemented |
| CdoubleFree | INT02-C. Understand integer conversion rules |
| Fully implemented |
| CduplicateCondition | INT02-C. Understand integer conversion rules |
| Fully implemented |
| CE8 | MSC25-C. Do not use insecure or weak cryptographic algorithms |
| Fully implemented |
| CE11 | INT02-C. Understand integer conversion rules |
| Fully implemented |
| CE12 | INT02-C. Understand integer conversion rules |
| Fully implemented |
| CE13 | INT02-C. Understand integer conversion rules |
| Fully implemented |
| CE256 | INT02-C. Understand integer conversion rules |
| Fully implemented |
| CE6 | INT02-C. Understand integer conversion rules |
| Fully implemented |
| CE6_S | INT02-C. Understand integer conversion rules |
| Fully implemented |
| CE7 | INT02-C. Understand integer conversion rules |
| Fully implemented |
| CfCO | INT02-C. Understand integer conversion rules |
| Fully implemented |
| CinvalidLifetime | INT02-C. Understand integer conversion rules |
| Fully implemented |
| CinvalidScanfArgType_int | INT02-C. Understand integer conversion rules |
| Fully implemented |
| CiRV | INT02-C. Understand integer conversion rules |
| Fully implemented |
| CiSFW | INT02-C. Understand integer conversion rules |
| Fully implemented |
| CknownConditionTrueFalse | INT02-C. Understand integer conversion rules |
| Fully implemented |
| clarifyCalculation | INT08-C. Verify that all integer values are in range |
| Fully implemented |
| ClRVNU | INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data |
| Fully implemented |
| CmAD | INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data |
| Fully implemented |
| CmemleakOnRealloc | INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data |
| Fully implemented |
| CmissingReturn | INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data |
| Fully implemented |
| CMR | INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data |
| Fully implemented |
| CmVOOR | INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data | | Fully implemented |
| CnAS | INT31-C. Ensure that integer conversions do not result in lost or misinterpreted data | | Fully implemented |
| CNI | INT32-C. Ensure that operations on signed integers do not result in overflow |
| Fully implemented |
| CnPDA | INT32-C. Ensure that operations on signed integers do not result in overflow |
| Fully implemented |
| ConfigurationNotChecked | INT32-C. Ensure that operations on signed integers do not result in overflow |
| Fully implemented |
| constParameter | INT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors |
| Fully implemented |
| CoOB | INT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors |
| Fully implemented |
| CPP_01 | INT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors | | Fully implemented |
| CPP_02 | INT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors |
| Fully implemented |
| CPP_03 | INT34-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 | | Fully implemented |
| CPP_04 | INT34-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 | | Fully implemented |
| CPP_05 | INT36-C. Converting a pointer to integer or integer to pointer |
| Fully implemented |
| CPP_06 | INT36-C. Converting a pointer to integer or integer to pointer |
| Fully implemented |
| CPP_07 | MEM03-C. Clear sensitive information stored in reusable resources |
| Fully implemented |
| CPP_08 | MEM04-C. Beware of zero-length allocations |
| Fully implemented |
| CPP_09 | MEM04-C. Beware of zero-length allocations |
| Fully implemented |
| CPP_10 | MEM05-C. Avoid large stack allocations |
| Fully implemented |
| CPP_11 | MEM10-C. Define and use a pointer validation function |
| Fully implemented |
| CPP_12 | MEM30-C. Do not access freed memory | MEM50-CPP. Do not access freed memory | Fully implemented |
| CPP_14 | MEM30-C. Do not access freed memory | MEM50-CPP. Do not access freed memory | Fully implemented |
| CPP_15 | MEM30-C. Do not access freed memory | MEM50-CPP. Do not access freed memory | Fully implemented |
| CPP_17 | MEM31-C. Free dynamically allocated memory when no longer needed | | Fully implemented |
| CPP_18 | MEM31-C. Free dynamically allocated memory when no longer needed | | Fully implemented |
| CPP_22 | MEM31-C. Free dynamically allocated memory when no longer needed |
| Fully implemented |
| CPP_23 | MEM31-C. Free dynamically allocated memory when no longer needed |
| Fully implemented |
| CPP_24 | MEM31-C. Free dynamically allocated memory when no longer needed | | Fully implemented |
| CPP_25 | MEM31-C. Free dynamically allocated memory when no longer needed | | Fully implemented |
| CPP_26 | MEM31-C. Free dynamically allocated memory when no longer needed | | Fully implemented |
| CPP_27 | MEM31-C. Free dynamically allocated memory when no longer needed | | Fully implemented |
| CPP_28 | MEM33-C. Allocate and copy structures containing a flexible array member dynamically | MEM53-CPP. Explicitly construct and destruct objects when manually managing object lifetime | Fully implemented |
| CPP_29 | MEM33-C. Allocate and copy structures containing a flexible array member dynamically | MEM53-CPP. Explicitly construct and destruct objects when manually managing object lifetime | Fully implemented |
| CPP_31 | MEM34-C. Only free memory allocated dynamically | | Fully implemented |
| CPP_32 | MEM34-C. Only free memory allocated dynamically |
| Fully implemented |
| CPP_33 | MEM34-C. Only free memory allocated dynamically |
| Fully implemented |
| CPP_34 | MEM34-C. Only free memory allocated dynamically | | Fully implemented |
| CPP_35 | MEM34-C. Only free memory allocated dynamically |
| Fully implemented |
| CPP_36 | MEM34-C. Only free memory allocated dynamically |
| Fully implemented |
| CPP_39 | MEM35-C. Allocate sufficient memory for an object |
| Fully implemented |
| CPP_40 | MEM35-C. Allocate sufficient memory for an object |
| Fully implemented |
| CPP_41 | MEM35-C. Allocate sufficient memory for an object |
| Fully implemented |
| CPP_42 | MEM50-CPP. Do not access freed memory |
| Fully implemented |
| CPP_43 | MEM50-CPP. Do not access freed memory |
| Fully implemented |
| CPP_44 | MSC01-C. Strive for logical completeness |
| Fully implemented |
| CPP_45 | MSC01-C. Strive for logical completeness |
| Fully implemented |
| CPP_46 | MSC01-C. Strive for logical completeness |
| Fully implemented |
| CPP_47 | MSC01-C. Strive for logical completeness |
| Fully implemented |
| CPP_48 | MEM12-C. Consider using a goto chain when leaving a function on error when using and releasing resources |
| Fully implemented |
| CPP_55 | MEM12-C. Consider using a goto chain when leaving a function on error when using and releasing resources |
| Fully implemented |
| CPP_56 | MEM12-C. Consider using a goto chain when leaving a function on error when using and releasing resources |
| Fully implemented |
| CPP_57 | MSC07-C. Detect and remove dead code |
| Fully implemented |
| CPP_58 | MSC07-C. Detect and remove dead code |
| Fully implemented |
| CPP_59 | MSC07-C. Detect and remove dead code |
| Fully implemented |
| CPP_60 | MSC07-C. Detect and remove dead code |
| Fully implemented |
| CPP_61 | MSC07-C. Detect and remove dead code |
| Fully implemented |
| CPP_62 | MSC07-C. Detect and remove dead code |
| Fully implemented |
| CPP_uninitvar | MSC07-C. Detect and remove dead code |
| Fully implemented |
| CPPCrypt | MSC07-C. Detect and remove dead code |
| Fully implemented |
| CPPDSLHardcoded | MSC07-C. Detect and remove dead code |
| Fully implemented |
| CPPDSLRAND | MSC07-C. Detect and remove dead code |
| Fully implemented |
| CPPDSLWES | MSC07-C. Detect and remove dead code |
| Fully implemented |
| CpPED | MSC07-C. Detect and remove dead code |
| Fully implemented |
| CPPEnterCriticalSection | MSC07-C. Detect and remove dead code |
| Fully implemented |
| CPPIsBadWritePtr | MSC07-C. Detect and remove dead code |
| Fully implemented |
| CPPLoadLibrary | MSC07-C. Detect and remove dead code |
| Fully implemented |
| CPPLoop | MSC07-C. Detect and remove dead code |
| Fully implemented |
| CPPOftenMisused | MSC09-C. Character encoding: Use subset of ASCII for safety |
| Fully implemented |
| CPPPBE | MSC11-C. Incorporate diagnostic tests using assertions |
| Fully implemented |
| CPPStackBased | MSC11-C. Incorporate diagnostic tests using assertions |
| Fully implemented |
| CPtr | MSC12-C. Detect and remove code that has no effect or is never executed |
| Fully implemented |
| CredundantInitialization | MSC12-C. Detect and remove code that has no effect or is never executed |
| Fully implemented |
| CreturnDanglingLifetime | MSC12-C. Detect and remove code that has no effect or is never executed |
| Fully implemented |
| CsFPC | MSC18-C. Be careful while handling sensitive data, such as passwords, in program code |
| Fully implemented |
| CsTMB | MSC18-C. Be careful while handling sensitive data, such as passwords, in program code |
| Fully implemented |
| CstrdupCalled | MSC18-C. Be careful while handling sensitive data, such as passwords, in program code |
| Fully implemented |
| ctuArrayIndex | MSC18-C. Be careful while handling sensitive data, such as passwords, in program code |
| Fully implemented |
| ctuNullPointer | MSC20-C. Do not use a switch statement to transfer control into a complex block |
| Fully implemented |
| ctuOneDefinitionRuleViolation | MSC21-C. Use robust loop termination conditions |
| Fully implemented |
| CuEV | MSC24-C. Do not use deprecated or obsolescent functions |
| Fully implemented |
| CvariableScope | MSC24-C. Do not use deprecated or obsolescent functions |
| Fully implemented |
| CWE395TEST_2_CPP | MSC24-C. Do not use deprecated or obsolescent functions |
| Fully implemented |
| CWE561P25 | MSC24-C. Do not use deprecated or obsolescent functions |
| Fully implemented |
| CwPSPPE | MSC24-C. Do not use deprecated or obsolescent functions |
| Fully implemented |
| CzDC | MSC24-C. Do not use deprecated or obsolescent functions |
| Fully implemented |
| deallocret | MSC24-C. Do not use deprecated or obsolescent functions |
| Fully implemented |
| integerOverflowCond | MSC24-C. Do not use deprecated or obsolescent functions |
| Fully implemented |
| invalidContainer | MSC24-C. Do not use deprecated or obsolescent functions |
| Fully implemented |
| invalidFunctionArg | MSC24-C. Do not use deprecated or obsolescent functions |
| Fully implemented |
| leakUnsafeArgAlloc | MSC24-C. Do not use deprecated or obsolescent functions |
| Fully implemented |
| memleak | MSC24-C. Do not use deprecated or obsolescent functions |
| Fully implemented |
| memleakOnRealloc | MSC24-C. Do not use deprecated or obsolescent functions |
| Fully implemented |
| noCopyConstructor | MSC24-C. Do not use deprecated or obsolescent functions |
| Fully implemented |
| noOperatorEq | MSC24-C. Do not use deprecated or obsolescent functions |
| Fully implemented |
| nullPointerRedundantCheck | MSC24-C. Do not use deprecated or obsolescent functions |
| Fully implemented |
| oppositeExpression | MSC25-C. Do not use insecure or weak cryptographic algorithms |
| Fully implemented |
| redundantPointerOp | MSC25-C. Do not use insecure or weak cryptographic algorithms |
| Fully implemented |
| RTOS_01 | MSC25-C. Do not use insecure or weak cryptographic algorithms |
| Fully implemented |
| RTOS_02 | MSC25-C. Do not use insecure or weak cryptographic algorithms |
| Fully implemented |
| RTOS_03 | MSC25-C. Do not use insecure or weak cryptographic algorithms |
| Fully implemented |
| RTOS_04 | MSC25-C. Do not use insecure or weak cryptographic algorithms |
| Fully implemented |
| RTOS_05 | MSC25-C. Do not use insecure or weak cryptographic algorithms |
| Fully implemented |
| RTOS_06 | MSC25-C. Do not use insecure or weak cryptographic algorithms |
| Fully implemented |
| RTOS_07 | MSC30-C. Do not use the rand() function for generating pseudorandom numbers | MSC50-CPP. Do not use std::rand() for generating pseudorandom numbers | Fully implemented |
| RTOS_08 | MSC32-C. Properly seed pseudorandom number generators | MSC51-CPP. Ensure your random number generator is properly seeded | Fully implemented |
| RTOS_09 | MSC37-C. Ensure that control never reaches the end of a non-void function | MSC52-CPP. Value-returning functions must return a value from all exit paths | Fully implemented |
| RTOS_10 | MSC37-C. Ensure that control never reaches the end of a non-void function | MSC52-CPP. Value-returning functions must return a value from all exit paths | Fully implemented |
| RTOS_11 | MSC37-C. Ensure that control never reaches the end of a non-void function | MSC52-CPP. Value-returning functions must return a value from all exit paths | Fully implemented |
| RTOS_12 | MSC37-C. Ensure that control never reaches the end of a non-void function | MSC52-CPP. Value-returning functions must return a value from all exit paths | Fully implemented |
| RTOS_13 | MSC39-C. Do not call va_arg() on a va_list that has an indeterminate value |
| Fully implemented |
| RTOS_14 | MSC41-C. Never hard code sensitive information |
| Fully implemented |
| RTOS_15 | MSC41-C. Never hard code sensitive information |
| Fully implemented |
| RTOS_16 | MSC41-C. Never hard code sensitive information |
| Fully implemented |
| RTOS_17 | MSC41-C. Never hard code sensitive information |
| Fully implemented |
| RTOS_18 | MSC25-C. Do not use insecure or weak cryptographic algorithms |
| Fully implemented |
| RTOS_19 | POS01-C. Check for the existence of links when dealing with files |
| Fully implemented |
| RTOS_20 | POS52-C. Do not perform operations that can block while holding a POSIX lock |
| Fully implemented |
| RTOS_22 | PRE04-C. Do not reuse a standard header file name |
| Fully implemented |
| RTOS_23 | PRE04-C. Do not reuse a standard header file name |
| Fully implemented |
| RTOS_24 | PRE04-C. Do not reuse a standard header file name |
| Fully implemented |
| RTOS_25 | PRE04-C. Do not reuse a standard header file name |
| Fully implemented |
| RTOS_26 | PRE13-C. Use the Standard predefined macros to test for versions and features. |
| Fully implemented |
| RTOS_27 | PRE30-C. Do not create a universal character name through concatenation | | Fully implemented |
| RTOS_28 | PRE31-C. Avoid side effects in arguments to unsafe macros |
| Fully implemented |
| RTOS_29 | PRE31-C. Avoid side effects in arguments to unsafe macros |
| Fully implemented |
| RTOS_30 | PRE31-C. Avoid side effects in arguments to unsafe macros |
| Fully implemented |
| RTOS_31 | STR05-C. Use pointers to const when referring to string literals |
| Fully implemented |
| RTOS_33 | STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator | STR50-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminator | Fully implemented |
| RTOS_34 | STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator | STR50-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminator | Fully implemented |
| shadowVariable | STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator | STR50-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminator | Fully implemented |
| shiftTooManyBits | STR32-C. Do not pass a non-null-terminated character sequence to a library function that expects a string | STR51-CPP. Do not attempt to create a std::string from a null pointer | Fully implemented |
| UNSAFE_01 | STR37-C. Arguments to character-handling functions must be representable as an unsigned char |
| Fully implemented |
| UNSAFE_02 | STR38-C. Do not confuse narrow and wide character strings and functions |
| Fully implemented |
| UNSAFE_03 | STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator | STR50-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminator | Fully implemented |
| UNSAFE_04 | STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminator | STR50-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminator | Fully implemented |
| UNSAFE_05 | WIN02-C. Restrict privileges when spawning child processes |
| Fully implemented |
| UNSAFE_06 |
| OOP52-CPP. Do not delete a polymorphic object without a virtual destructor | Fully implemented |
| UNSAFE_07 |
| OOP50-CPP. Do not invoke virtual functions from constructors or destructors | Fully implemented |
| UNSAFE_08 |
| CON53-CPP. Avoid deadlock by locking in a predefined order | Fully implemented |
| UNSAFE_09 |
| DCL50-CPP. Do not define a C-style variadic function | Fully implemented |
| va_end_missing |
| ERR59-CPP. Do not throw an exception across execution boundaries | Fully implemented |
| va_start_subsequentCalls |
| MEM56-CPP. Do not store an already-owned pointer value in an unrelated smart pointer | Fully implemented |
| wcsdupCalled |
| MEM51-CPP. Properly deallocate dynamically allocated resources | Fully implemented |
| zerodiv |
|
| Fully implemented |