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

Compare with Current View Page History

« Previous Version 2 Next »

CheckerCERT-CCERT-CPPDescription
arithOperationsOnVoidPointerAPI04-C. Provide a consistent and usable error-checking mechanism
Fully implemented
arrayIndexOutOfBoundsCondARR30-C. Do not form or use out-of-bounds pointers or array subscripts Fully implemented
assignmentInAssertARR30-C. Do not form or use out-of-bounds pointers or array subscripts Fully implemented
autoVariablesARR30-C. Do not form or use out-of-bounds pointers or array subscripts
Fully implemented
autovarInvalidDeallocationARR30-C. Do not form or use out-of-bounds pointers or array subscripts
Fully implemented
C01ARR30-C. Do not form or use out-of-bounds pointers or array subscriptsCTR52-CPP. Guarantee that library functions do not overflowFully implemented
C02ARR30-C. Do not form or use out-of-bounds pointers or array subscripts Fully implemented
C03ARR30-C. Do not form or use out-of-bounds pointers or array subscripts Fully implemented
C04ARR30-C. Do not form or use out-of-bounds pointers or array subscriptsCTR52-CPP. Guarantee that library functions do not overflowFully implemented
C05ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
Fully implemented
C06ARR30-C. Do not form or use out-of-bounds pointers or array subscripts Fully implemented
C07ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
Fully implemented
C08ARR30-C. Do not form or use out-of-bounds pointers or array subscripts Fully implemented
C08ARR30-C. Do not form or use out-of-bounds pointers or array subscripts Fully implemented
C09ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
Fully implemented
C10ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
Fully implemented
C101ARR32-C. Ensure size arguments for variable length arrays are in a valid range Fully implemented
C107ARR36-C. Do not subtract or compare two pointers that do not refer to the same array Fully implemented
C109ARR38-C. Guarantee that library functions do not form invalid pointers
Fully implemented
C11CON02-C. Do not use volatile as a synchronization primitive
Fully implemented
C12CON05-C. Do not perform operations that can block while holding a lock
Fully implemented
C122CON40-C. Do not refer to an atomic variable twice in an expression
Fully implemented
C123CON40-C. Do not refer to an atomic variable twice in an expression
Fully implemented
C126DCL01-C. Do not reuse variable names in subscopes
Fully implemented
C127DCL01-C. Do not reuse variable names in subscopes
Fully implemented
C129DCL03-C. Use a static assertion to test the value of a constant expression
Fully implemented
C13DCL03-C. Use a static assertion to test the value of a constant expression
Fully implemented
C130DCL03-C. Use a static assertion to test the value of a constant expression
Fully implemented
C132DCL03-C. Use a static assertion to test the value of a constant expression
Fully implemented
C133DCL03-C. Use a static assertion to test the value of a constant expression
Fully implemented
C135DCL03-C. Use a static assertion to test the value of a constant expression
Fully implemented
C14DCL03-C. Use a static assertion to test the value of a constant expression
Fully implemented
C15DCL03-C. Use a static assertion to test the value of a constant expression
Fully implemented
C154DCL03-C. Use a static assertion to test the value of a constant expression
Fully implemented
C155DCL03-C. Use a static assertion to test the value of a constant expression
Fully implemented
C16DCL13-C. Declare function parameters that are pointers to values not changed by the function as const
Fully implemented
C17FIO39-C. Do not alternately input and output from a stream without an intervening flush or positioning callFIO50-CPP. Do not alternately input and output from a file stream without an intervening positioning callFully implemented
C176DCL30-C. Declare objects with appropriate storage durations Fully implemented
C177DCL30-C. Declare objects with appropriate storage durations Fully implemented
C178DCL30-C. Declare objects with appropriate storage durations Fully implemented
C179DCL30-C. Declare objects with appropriate storage durations Fully implemented
C18DCL30-C. Declare objects with appropriate storage durations Fully implemented
C19DCL31-C. Declare identifiers before using them
Fully implemented
C20DCL39-C. Avoid information leakage when passing a structure across a trust boundary
Fully implemented
C21DCL39-C. Avoid information leakage when passing a structure across a trust boundary
Fully implemented
C22DCL39-C. Avoid information leakage when passing a structure across a trust boundary
Fully implemented
C23DCL39-C. Avoid information leakage when passing a structure across a trust boundary
Fully implemented
C24ARR36-C. Do not subtract or compare two pointers that do not refer to the same arraySTR52-CPP. Use valid references, pointers, and iterators to reference elements of a basic_stringFully implemented
C25DCL39-C. Avoid information leakage when passing a structure across a trust boundary
Fully implemented
C26DCL40-C. Do not create incompatible declarations of the same function or object
Fully implemented
C27ENV30-C. Do not modify the object referenced by the return value of certain functions
Fully implemented
C28ENV30-C. Do not modify the object referenced by the return value of certain functions
Fully implemented
C29ENV30-C. Do not modify the object referenced by the return value of certain functions
Fully implemented
C31ERR04-C. Choose an appropriate termination strategy
Fully implemented
C32ERR05-C. Application-independent code should provide error detection without dictating error handling
Fully implemented
C32ERR05-C. Application-independent code should provide error detection without dictating error handling
Fully implemented
C33ERR05-C. Application-independent code should provide error detection without dictating error handling
Fully implemented
C33ERR05-C. Application-independent code should provide error detection without dictating error handling
Fully implemented
C34ERR32-C. Do not rely on indeterminate values of errno
Fully implemented
C35
ERR51-CPP. Handle all exceptionsFully implemented
C36EXP00-C. Use parentheses for precedence of operation
Fully implemented
C37EXP08-C. Ensure pointer arithmetic is used correctly
Fully implemented
C38EXP09-C. Use sizeof to determine the size of a type or variable
Fully implemented
C39EXP09-C. Use sizeof to determine the size of a type or variable
Fully implemented
C40EXP09-C. Use sizeof to determine the size of a type or variable
Fully implemented
C42EXP09-C. Use sizeof to determine the size of a type or variable
Fully implemented
C44EXP09-C. Use sizeof to determine the size of a type or variable
Fully implemented
C45EXP09-C. Use sizeof to determine the size of a type or variable
Fully implemented
C46EXP09-C. Use sizeof to determine the size of a type or variable
Fully implemented
C46EXP09-C. Use sizeof to determine the size of a type or variable
Fully implemented
C47EXP12-C. Do not ignore values returned by functions Fully implemented
C48EXP12-C. Do not ignore values returned by functions Fully implemented
C49ARR30-C. Do not form or use out-of-bounds pointers or array subscripts
Fully implemented
C50EXP14-C. Beware of integer promotion when performing bitwise operations on integer types smaller than int
Fully implemented
C51EXP19-C. Use braces for the body of an if, for, or while statement
Fully implemented
C52DCL03-C. Use a static assertion to test the value of a constant expression
Fully implemented
C53EXP30-C. Do not depend on the order of evaluation for side effectsEXP50-CPP. Do not depend on the order of evaluation for side effectsFully implemented
C54EXP33-C. Do not read uninitialized memoryEXP53-CPP. Do not read uninitialized memoryFully implemented
C55EXP33-C. Do not read uninitialized memoryEXP53-CPP. Do not read uninitialized memoryFully implemented
C56EXP33-C. Do not read uninitialized memoryEXP53-CPP. Do not read uninitialized memoryFully implemented
C57EXP33-C. Do not read uninitialized memoryEXP53-CPP. Do not read uninitialized memoryFully implemented
C58EXP33-C. Do not read uninitialized memoryEXP53-CPP. Do not read uninitialized memoryFully implemented
C59EXP33-C. Do not read uninitialized memoryEXP53-CPP. Do not read uninitialized memoryFully implemented
C60EXP33-C. Do not read uninitialized memoryEXP53-CPP. Do not read uninitialized memoryFully implemented
C61EXP33-C. Do not read uninitialized memoryEXP53-CPP. Do not read uninitialized memoryFully implemented
C62EXP33-C. Do not read uninitialized memoryEXP53-CPP. Do not read uninitialized memoryFully implemented
C63EXP33-C. Do not read uninitialized memoryEXP53-CPP. Do not read uninitialized memoryFully implemented
C64EXP34-C. Do not dereference null pointers Fully implemented
C64EXP34-C. Do not dereference null pointers
Fully implemented
C65EXP34-C. Do not dereference null pointers
Fully implemented
C65EXP34-C. Do not dereference null pointers
Fully implemented
C66EXP34-C. Do not dereference null pointers Fully implemented
C67EXP36-C. Do not cast pointers into more strictly aligned pointer types
Fully implemented
C68EXP36-C. Do not cast pointers into more strictly aligned pointer types
Fully implemented
C69EXP36-C. Do not cast pointers into more strictly aligned pointer types
Fully implemented
C70EXP36-C. Do not cast pointers into more strictly aligned pointer types
Fully implemented
C71EXP37-C. Call functions with the correct number and type of arguments
Fully implemented
C73EXP40-C. Do not modify constant objects
Fully implemented
C73EXP46-C. Do not use a bitwise operator with a Boolean-like operand Fully implemented
C74EXP46-C. Do not use a bitwise operator with a Boolean-like operand
Fully implemented
C75EXP47-C. Do not call va_arg with an argument of the incorrect type
Fully implemented
C76FIO21-C. Do not create temporary files in shared directories
Fully implemented
C77FIO39-C. Do not alternately input and output from a stream without an intervening flush or positioning call Fully implemented
C78FIO39-C. Do not alternately input and output from a stream without an intervening flush or positioning call Fully implemented
C79FIO39-C. Do not alternately input and output from a stream without an intervening flush or positioning call
Fully implemented
C80FIO39-C. Do not alternately input and output from a stream without an intervening flush or positioning call Fully implemented
C80FIO42-C. Close files when they are no longer neededFIO51-CPP. Close files when they are no longer neededFully implemented
C81FIO47-C. Use valid format strings Fully implemented
C82FIO47-C. Use valid format strings Fully implemented
C83FIO47-C. Use valid format strings Fully implemented
C83FIO47-C. Use valid format strings Fully implemented
C84FIO47-C. Use valid format strings Fully implemented
C85FIO47-C. Use valid format strings Fully implemented
C86FIO47-C. Use valid format strings Fully implemented
C86FIO47-C. Use valid format strings
Fully implemented
C87FLP03-C. Detect and handle floating-point errors
Fully implemented
c88FLP34-C. Ensure that floating-point conversions are within range of the new type Fully implemented
C92FLP34-C. Ensure that floating-point conversions are within range of the new type Fully implemented
C999INT01-C. Use size_t or rsize_t for all integer values representing the size of an object
Fully implemented
CbOBINT02-C. Understand integer conversion rules
Fully implemented
CconstVariableINT02-C. Understand integer conversion rules
Fully implemented
CdLTINT02-C. Understand integer conversion rules
Fully implemented
CdoubleFreeINT02-C. Understand integer conversion rules
Fully implemented
CduplicateConditionINT02-C. Understand integer conversion rules
Fully implemented
CE8MSC25-C. Do not use insecure or weak cryptographic algorithms
Fully implemented
CE11INT02-C. Understand integer conversion rules
Fully implemented
CE12INT02-C. Understand integer conversion rules
Fully implemented
CE13INT02-C. Understand integer conversion rules
Fully implemented
CE256INT02-C. Understand integer conversion rules
Fully implemented
CE6INT02-C. Understand integer conversion rules
Fully implemented
CE6_SINT02-C. Understand integer conversion rules
Fully implemented
CE7INT02-C. Understand integer conversion rules
Fully implemented
CfCOINT02-C. Understand integer conversion rules
Fully implemented
CinvalidLifetimeINT02-C. Understand integer conversion rules
Fully implemented
CinvalidScanfArgType_intINT02-C. Understand integer conversion rules
Fully implemented
CiRVINT02-C. Understand integer conversion rules
Fully implemented
CiSFWINT02-C. Understand integer conversion rules
Fully implemented
CknownConditionTrueFalseINT02-C. Understand integer conversion rules
Fully implemented
clarifyCalculationINT08-C. Verify that all integer values are in range
Fully implemented
ClRVNUINT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
Fully implemented
CmADINT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
Fully implemented
CmemleakOnReallocINT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
Fully implemented
CmissingReturnINT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
Fully implemented
CMRINT31-C. Ensure that integer conversions do not result in lost or misinterpreted data
Fully implemented
CmVOORINT31-C. Ensure that integer conversions do not result in lost or misinterpreted data Fully implemented
CnASINT31-C. Ensure that integer conversions do not result in lost or misinterpreted data Fully implemented
CNIINT32-C. Ensure that operations on signed integers do not result in overflow
Fully implemented
CnPDAINT32-C. Ensure that operations on signed integers do not result in overflow
Fully implemented
ConfigurationNotCheckedINT32-C. Ensure that operations on signed integers do not result in overflow
Fully implemented
constParameterINT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors
Fully implemented
CoOBINT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors
Fully implemented
CPP_01INT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors Fully implemented
CPP_02INT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors
Fully implemented
CPP_03INT34-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_04INT34-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_05INT36-C. Converting a pointer to integer or integer to pointer
Fully implemented
CPP_06INT36-C. Converting a pointer to integer or integer to pointer
Fully implemented
CPP_07MEM03-C. Clear sensitive information stored in reusable resources
Fully implemented
CPP_08MEM04-C. Beware of zero-length allocations
Fully implemented
CPP_09MEM04-C. Beware of zero-length allocations
Fully implemented
CPP_10MEM05-C. Avoid large stack allocations
Fully implemented
CPP_11MEM10-C. Define and use a pointer validation function
Fully implemented
CPP_12MEM30-C. Do not access freed memoryMEM50-CPP. Do not access freed memoryFully implemented
CPP_14MEM30-C. Do not access freed memoryMEM50-CPP. Do not access freed memoryFully implemented
CPP_15MEM30-C. Do not access freed memoryMEM50-CPP. Do not access freed memoryFully implemented
CPP_17MEM31-C. Free dynamically allocated memory when no longer needed Fully implemented
CPP_18MEM31-C. Free dynamically allocated memory when no longer needed Fully implemented
CPP_22MEM31-C. Free dynamically allocated memory when no longer needed
Fully implemented
CPP_23MEM31-C. Free dynamically allocated memory when no longer needed
Fully implemented
CPP_24MEM31-C. Free dynamically allocated memory when no longer needed Fully implemented
CPP_25MEM31-C. Free dynamically allocated memory when no longer needed Fully implemented
CPP_26MEM31-C. Free dynamically allocated memory when no longer needed Fully implemented
CPP_27MEM31-C. Free dynamically allocated memory when no longer needed Fully implemented
CPP_28MEM33-C. Allocate and copy structures containing a flexible array member dynamicallyMEM53-CPP. Explicitly construct and destruct objects when manually managing object lifetimeFully implemented
CPP_29MEM33-C. Allocate and copy structures containing a flexible array member dynamicallyMEM53-CPP. Explicitly construct and destruct objects when manually managing object lifetimeFully implemented
CPP_31MEM34-C. Only free memory allocated dynamically Fully implemented
CPP_32MEM34-C. Only free memory allocated dynamically
Fully implemented
CPP_33MEM34-C. Only free memory allocated dynamically
Fully implemented
CPP_34MEM34-C. Only free memory allocated dynamically Fully implemented
CPP_35MEM34-C. Only free memory allocated dynamically
Fully implemented
CPP_36MEM34-C. Only free memory allocated dynamically
Fully implemented
CPP_39MEM35-C. Allocate sufficient memory for an object
Fully implemented
CPP_40MEM35-C. Allocate sufficient memory for an object
Fully implemented
CPP_41MEM35-C. Allocate sufficient memory for an object
Fully implemented
CPP_42MEM50-CPP. Do not access freed memory
Fully implemented
CPP_43MEM50-CPP. Do not access freed memory
Fully implemented
CPP_44MSC01-C. Strive for logical completeness
Fully implemented
CPP_45MSC01-C. Strive for logical completeness
Fully implemented
CPP_46MSC01-C. Strive for logical completeness
Fully implemented
CPP_47MSC01-C. Strive for logical completeness
Fully implemented
CPP_48MEM12-C. Consider using a goto chain when leaving a function on error when using and releasing resources
Fully implemented
CPP_55MEM12-C. Consider using a goto chain when leaving a function on error when using and releasing resources
Fully implemented
CPP_56MEM12-C. Consider using a goto chain when leaving a function on error when using and releasing resources
Fully implemented
CPP_57MSC07-C. Detect and remove dead code
Fully implemented
CPP_58MSC07-C. Detect and remove dead code
Fully implemented
CPP_59MSC07-C. Detect and remove dead code
Fully implemented
CPP_60MSC07-C. Detect and remove dead code
Fully implemented
CPP_61MSC07-C. Detect and remove dead code
Fully implemented
CPP_62MSC07-C. Detect and remove dead code
Fully implemented
CPP_uninitvarMSC07-C. Detect and remove dead code
Fully implemented
CPPCryptMSC07-C. Detect and remove dead code
Fully implemented
CPPDSLHardcodedMSC07-C. Detect and remove dead code
Fully implemented
CPPDSLRANDMSC07-C. Detect and remove dead code
Fully implemented
CPPDSLWESMSC07-C. Detect and remove dead code
Fully implemented
CpPEDMSC07-C. Detect and remove dead code
Fully implemented
CPPEnterCriticalSectionMSC07-C. Detect and remove dead code
Fully implemented
CPPIsBadWritePtrMSC07-C. Detect and remove dead code
Fully implemented
CPPLoadLibraryMSC07-C. Detect and remove dead code
Fully implemented
CPPLoopMSC07-C. Detect and remove dead code
Fully implemented
CPPOftenMisusedMSC09-C. Character encoding: Use subset of ASCII for safety
Fully implemented
CPPPBEMSC11-C. Incorporate diagnostic tests using assertions
Fully implemented
CPPStackBasedMSC11-C. Incorporate diagnostic tests using assertions
Fully implemented
CPtrMSC12-C. Detect and remove code that has no effect or is never executed
Fully implemented
CredundantInitializationMSC12-C. Detect and remove code that has no effect or is never executed
Fully implemented
CreturnDanglingLifetimeMSC12-C. Detect and remove code that has no effect or is never executed
Fully implemented
CsFPCMSC18-C. Be careful while handling sensitive data, such as passwords, in program code
Fully implemented
CsTMBMSC18-C. Be careful while handling sensitive data, such as passwords, in program code
Fully implemented
CstrdupCalledMSC18-C. Be careful while handling sensitive data, such as passwords, in program code
Fully implemented
ctuArrayIndexMSC18-C. Be careful while handling sensitive data, such as passwords, in program code
Fully implemented
ctuNullPointerMSC20-C. Do not use a switch statement to transfer control into a complex block
Fully implemented
ctuOneDefinitionRuleViolationMSC21-C. Use robust loop termination conditions
Fully implemented
CuEVMSC24-C. Do not use deprecated or obsolescent functions
Fully implemented
CvariableScopeMSC24-C. Do not use deprecated or obsolescent functions
Fully implemented
CWE395TEST_2_CPPMSC24-C. Do not use deprecated or obsolescent functions
Fully implemented
CWE561P25MSC24-C. Do not use deprecated or obsolescent functions
Fully implemented
CwPSPPEMSC24-C. Do not use deprecated or obsolescent functions
Fully implemented
CzDCMSC24-C. Do not use deprecated or obsolescent functions
Fully implemented
deallocretMSC24-C. Do not use deprecated or obsolescent functions
Fully implemented
integerOverflowCondMSC24-C. Do not use deprecated or obsolescent functions
Fully implemented
invalidContainerMSC24-C. Do not use deprecated or obsolescent functions
Fully implemented
invalidFunctionArgMSC24-C. Do not use deprecated or obsolescent functions
Fully implemented
leakUnsafeArgAllocMSC24-C. Do not use deprecated or obsolescent functions
Fully implemented
memleakMSC24-C. Do not use deprecated or obsolescent functions
Fully implemented
memleakOnReallocMSC24-C. Do not use deprecated or obsolescent functions
Fully implemented
noCopyConstructorMSC24-C. Do not use deprecated or obsolescent functions
Fully implemented
noOperatorEqMSC24-C. Do not use deprecated or obsolescent functions
Fully implemented
nullPointerRedundantCheckMSC24-C. Do not use deprecated or obsolescent functions
Fully implemented
oppositeExpressionMSC25-C. Do not use insecure or weak cryptographic algorithms
Fully implemented
redundantPointerOpMSC25-C. Do not use insecure or weak cryptographic algorithms
Fully implemented
RTOS_01MSC25-C. Do not use insecure or weak cryptographic algorithms
Fully implemented
RTOS_02MSC25-C. Do not use insecure or weak cryptographic algorithms
Fully implemented
RTOS_03MSC25-C. Do not use insecure or weak cryptographic algorithms
Fully implemented
RTOS_04MSC25-C. Do not use insecure or weak cryptographic algorithms
Fully implemented
RTOS_05MSC25-C. Do not use insecure or weak cryptographic algorithms
Fully implemented
RTOS_06MSC25-C. Do not use insecure or weak cryptographic algorithms
Fully implemented
RTOS_07MSC30-C. Do not use the rand() function for generating pseudorandom numbersMSC50-CPP. Do not use std::rand() for generating pseudorandom numbersFully implemented
RTOS_08MSC32-C. Properly seed pseudorandom number generatorsMSC51-CPP. Ensure your random number generator is properly seededFully implemented
RTOS_09MSC37-C. Ensure that control never reaches the end of a non-void functionMSC52-CPP. Value-returning functions must return a value from all exit pathsFully implemented
RTOS_10MSC37-C. Ensure that control never reaches the end of a non-void functionMSC52-CPP. Value-returning functions must return a value from all exit pathsFully implemented
RTOS_11MSC37-C. Ensure that control never reaches the end of a non-void functionMSC52-CPP. Value-returning functions must return a value from all exit pathsFully implemented
RTOS_12MSC37-C. Ensure that control never reaches the end of a non-void functionMSC52-CPP. Value-returning functions must return a value from all exit pathsFully implemented
RTOS_13MSC39-C. Do not call va_arg() on a va_list that has an indeterminate value
Fully implemented
RTOS_14MSC41-C. Never hard code sensitive information
Fully implemented
RTOS_15MSC41-C. Never hard code sensitive information
Fully implemented
RTOS_16MSC41-C. Never hard code sensitive information
Fully implemented
RTOS_17MSC41-C. Never hard code sensitive information
Fully implemented
RTOS_18MSC25-C. Do not use insecure or weak cryptographic algorithms
Fully implemented
RTOS_19POS01-C. Check for the existence of links when dealing with files
Fully implemented
RTOS_20POS52-C. Do not perform operations that can block while holding a POSIX lock
Fully implemented
RTOS_22PRE04-C. Do not reuse a standard header file name
Fully implemented
RTOS_23PRE04-C. Do not reuse a standard header file name
Fully implemented
RTOS_24PRE04-C. Do not reuse a standard header file name
Fully implemented
RTOS_25PRE04-C. Do not reuse a standard header file name
Fully implemented
RTOS_26PRE13-C. Use the Standard predefined macros to test for versions and features.
Fully implemented
RTOS_27PRE30-C. Do not create a universal character name through concatenation Fully implemented
RTOS_28PRE31-C. Avoid side effects in arguments to unsafe macros
Fully implemented
RTOS_29PRE31-C. Avoid side effects in arguments to unsafe macros
Fully implemented
RTOS_30PRE31-C. Avoid side effects in arguments to unsafe macros
Fully implemented
RTOS_31STR05-C. Use pointers to const when referring to string literals
Fully implemented
RTOS_33STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminatorSTR50-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminatorFully implemented
RTOS_34STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminatorSTR50-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminatorFully implemented
shadowVariableSTR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminatorSTR50-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminatorFully implemented
shiftTooManyBitsSTR32-C. Do not pass a non-null-terminated character sequence to a library function that expects a stringSTR51-CPP. Do not attempt to create a std::string from a null pointerFully implemented
UNSAFE_01STR37-C. Arguments to character-handling functions must be representable as an unsigned char
Fully implemented
UNSAFE_02STR38-C. Do not confuse narrow and wide character strings and functions
Fully implemented
UNSAFE_03STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminatorSTR50-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminatorFully implemented
UNSAFE_04STR31-C. Guarantee that storage for strings has sufficient space for character data and the null terminatorSTR50-CPP. Guarantee that storage for strings has sufficient space for character data and the null terminatorFully implemented
UNSAFE_05WIN02-C. Restrict privileges when spawning child processes
Fully implemented
UNSAFE_06
OOP52-CPP. Do not delete a polymorphic object without a virtual destructorFully implemented
UNSAFE_07
OOP50-CPP. Do not invoke virtual functions from constructors or destructorsFully implemented
UNSAFE_08
CON53-CPP. Avoid deadlock by locking in a predefined orderFully implemented
UNSAFE_09
DCL50-CPP. Do not define a C-style variadic functionFully implemented
va_end_missing
ERR59-CPP. Do not throw an exception across execution boundariesFully implemented
va_start_subsequentCalls
MEM56-CPP. Do not store an already-owned pointer value in an unrelated smart pointerFully implemented
wcsdupCalled
MEM51-CPP. Properly deallocate dynamically allocated resourcesFully implemented
zerodiv

Fully implemented
  • No labels