Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Updated Coverity coverage to latest 7.5 version. The former list was a couple of years out of date.
Info
titleGenerated Content

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

Version number:
v 5.0 v7.5 as of June 2014

 

Java checkers

Rule

OS_CMD_INJECTIONIDS07-J. Do not pass untrusted, unsanitized data to the Runtime.exec() method
BAD_EQIDS02-J. Canonicalize path names before validating them
BAD_SHIFTNUM00-J. Detect or prevent integer overflow
OVERFLOW_BEFORE_WIDENNUM00-J. Detect or prevent integer overflow
CHECKED_RETURNEXP00-J. Do not ignore values returned by methods
CHECKED_RETURNFIO09-J. Do not rely on the write() method to output integers outside the range 0 to 255
HARDCODED_CREDENTIALSMSC03-J. Never hard code sensitive information
FB.DMI_CONSTANT_DB_PASSWORDMSC03-J. Never hard code sensitive information
FB.DMI_EMPTY_DB_PASSWORDMSC03-J. Never hard code sensitive information
RISKY_CRYPTOMSC02-J. Generate strong random numbers
GUARDED_BY_VIOLATION VNA02-J. Ensure that compound operations on shared variables are atomic
INDIRECT_GUARDED_BY_VIOLATION
VNA02-J. Ensure that compound operations on shared variables are atomic
NON_STATIC_GUARDING_STATICVNA02-J. Ensure that compound operations on shared variables are atomic
NON_STATIC_GUARDING_STATICVNA02-J. Ensure that compound operations on shared variables are atomic
FB.IS2_INCONSISTENT_SYNC
VNA02-J. Ensure that compound operations on shared variables are atomic
FB.IS_FIELD_NOT_GUARDEDVNA02-J. Ensure that compound operations on shared variables are atomic
FB.IS_INCONSISTENT_SYNCVNA02-J. Ensure that compound operations on shared variables are atomic
FB.STCAL_INVOKE_ON_STATIC_ CALENDAR_INSTANCEVNA02-J. Ensure that compound operations on shared variables are atomic
FB.STCAL_INVOKE_ON_STATIC_ DATE_FORMAT_INSTANCEVNA02-J. Ensure that compound operations on shared variables are atomic
FB.STCAL_STATIC_CALENDAR_ INSTANCEVNA02-J. Ensure that compound operations on shared variables are atomic
FB.STCAL_STATIC_SIMPLE_DATE_ FORMAT_INSTANCEVNA02-J. Ensure that compound operations on shared variables are atomic
GUARDED_BY_VIOLATION VNA03-J. Do not assume that a group of calls to independently atomic methods is atomic
INDIRECT_GUARDED_BY_VIOLATION
VNA03-J. Do not assume that a group of calls to independently atomic methods is atomic
NON_STATIC_GUARDING_STATICVNA03-J. Do not assume that a group of calls to independently atomic methods is atomic
NON_STATIC_GUARDING_STATICVNA03-J. Do not assume that a group of calls to independently atomic methods is atomic
FB.IS2_INCONSISTENT_SYNC
VNA03-J. Do not assume that a group of calls to independently atomic methods is atomic
FB.IS_FIELD_NOT_GUARDEDVNA03-J. Do not assume that a group of calls to independently atomic methods is atomic
FB.IS_INCONSISTENT_SYNCVNA03-J. Do not assume that a group of calls to independently atomic methods is atomic
FB.STCAL_INVOKE_ON_STATIC_ CALENDAR_INSTANCEVNA03-J. Do not assume that a group of calls to independently atomic methods is atomic
FB.STCAL_INVOKE_ON_STATIC_ DATE_FORMAT_INSTANCEVNA03-J. Do not assume that a group of calls to independently atomic methods is atomic
FB.STCAL_STATIC_CALENDAR_ INSTANCEVNA03-J. Do not assume that a group of calls to independently atomic methods is atomic
FB.STCAL_STATIC_SIMPLE_DATE_ FORMAT_INSTANCEVNA03-J. Do not assume that a group of calls to independently atomic methods is atomic
FB.EI_EXPOSE_REP2OBJ04-J. Provide mutable classes with copy functionality to safely allow passing instances to untrusted code
FB.EI_EXPOSE_REP
OBJ04-J. Provide mutable classes with copy functionality to safely allow passing instances to untrusted code
DC.CODING_STYLEERR09-J. Do not allow untrusted code to terminate the JVM
FB.DM_EXITERR09-J. Do not allow untrusted code to terminate the JVM
ITERATORFIO04-J. Release resources when they are no longer needed
JDBC_CONNECTIONFIO04-J. Release resources when they are no longer needed
RESOURCE_LEAKFIO04-J. Release resources when they are no longer needed
UNSAFE_REFLECTIONSEC02-J. Do not base security checks on untrusted sources
FB.BC_NULL_INSTANCEOF
EXP01-J. Never dereference null pointers
FB.NP_ALWAYS_NULLEXP01-J. Never dereference null pointers
FB.NP_ALWAYS_NULL_EXCEPTION EXP01-J. Never dereference null pointers
FB.NP_ARGUMENT_MIGHT_BE_NULLEXP01-J. Never dereference null pointers
FB.NP_BOOLEAN_RETURN_NULLEXP01-J. Never dereference null pointers
FB.NP_CLONE_COULD_RETURN_NULLEXP01-J. Never dereference null pointers
FB.NP_CLOSING_NULLEXP01-J. Never dereference null pointers
FB.NP_DEREFERENCE_OF_ READLINE_VALUEEXP01-J. Never dereference null pointers
FB.NP_DOES_NOT_HANDLE_NULL
EXP01-J. Never dereference null pointers
FB.NP_EQUALS_SHOULD_HANDLE_ NULL_ARGUMENTEXP01-J. Never dereference null pointers
FB.NP_FIELD_NOT_INITIALIZED_ IN_CONSTRUCTOREXP01-J. Never dereference null pointers
FB.NP_GUARANTEED_DEREF
EXP01-J. Never dereference null pointers
FB.NP_GUARANTEED_DEREF_ON_ EXCEPTION_PATHEXP01-J. Never dereference null pointers
FB.NP_IMMEDIATE_DEREFERENCE_ OF_READLINEEXP01-J. Never dereference null pointers
FB.NP_LOAD_OF_KNOWN_NULL_ VALUEEXP01-J. Never dereference null pointers
FB.NP_NONNULL_FIELD_NOT_ INITIALIZED_IN_CONSTRUCTOREXP01-J. Never dereference null pointers
FB.NP_NONNULL_PARAM_VIOLATIONEXP01-J. Never dereference null pointers
FB.NP_NONNULL_RETURN_VIOLATIONEXP01-J. Never dereference null pointers
FB.NP_NULL_INSTANCEOFEXP01-J. Never dereference null pointers
FB.NP_NULL_ON_SOME_PATHEXP01-J. Never dereference null pointers
FB.NP_NULL_ON_SOME_PATH_ EXCEPTIONEXP01-J. Never dereference null pointers
FB.NP_NULL_ON_SOME_PATH_ FROM_RETURN_VALUEEXP01-J. Never dereference null pointers
FB.NP_NULL_ON_SOME_PATH_ MIGHT_BE_INFEASIBLEEXP01-J. Never dereference null pointers
FB.NP_NULL_PARAM_DEREFEXP01-J. Never dereference null pointers
FB.NP_NULL_PARAM_DEREF_ALL_ TARGETS_DANGEROUSEXP01-J. Never dereference null pointers
FB.NP_NULL_PARAM_DEREF_ NONVIRTUALEXP01-J. Never dereference null pointers
FB.NP_PARAMETER_MUST_BE_NON - NULL_BUT_MARKED_AS_NULLABLEEXP01-J. Never dereference null pointers
FB.NP_STORE_INTO_NONNULL_FIELDEXP01-J. Never dereference null pointers
FB.NP_TOSTRING_COULD_ RETURN_NULLEXP01-J. Never dereference null pointers
FB.NP_UNWRITTEN_FIELDEXP01-J. Never dereference null pointers
FB.NP_UNWRITTEN_PUBLIC_OR_ PROTECTED_FIELDEXP01-J. Never dereference null pointers
FB.RCN_REDUNDANT_COMPARISON_ OF_NULL_AND_NONNULL_VALUEEXP01-J. Never dereference null pointers
FB.RCN_REDUNDANT_COMPARISON_ TWO_NULL_VALUESEXP01-J. Never dereference null pointers
FB.RCN_REDUNDANT_NULLCHECK_ OF_NONNULL_VALUEEXP01-J. Never dereference null pointers
FB.RCN_REDUNDANT_NULLCHECK_ OF_NULL_VALUEEXP01-J. Never dereference null pointers
FB.RCN_REDUNDANT_NULLCHECK_ WOULD_HAVE_BEEN_A_NPEEXP01-J. Never dereference null pointers
FORWARD_NULLEXP01-J. Never dereference null pointers
NULL_RETURNSEXP01-J. Never dereference null pointers
REVERSE_INULLEXP01-J. Never dereference null pointers
UNSAFE_DESERIALIZATIONSER01-J. Do not deviate from the proper signatures of serialization methods
UNSAFE_DESERIALIZATIONSER03-J. Do not serialize unencrypted, sensitive data
UNSAFE_DESERIALIZATIONSER06-J. Make defensive copies of private mutable components during deserialization
UNSAFE_DESERIALIZATIONSER07-J. Do not use the default serialized form for classes with implementation-defined invariants
SINGLETON_RACEMSC07-J. Prevent multiple instantiations of singleton objects
UNSAFE_LAZY_INITMSC07-J. Prevent multiple instantiations of singleton objects
FB.LI_LAZY_INIT_UPDATE_STATICMSC07-J. Prevent multiple instantiations of singleton objects
FB.LI_LAZY_INIT_STATICMSC07-J. Prevent multiple instantiations of singleton objects
SERVLET_ATOMICITYVNA00-J. Ensure visibility when accessing shared primitive variables
SERVLET_ATOMICITYVNA02-J. Ensure that compound operations on shared variables are atomic
CALL_SUPERMET12-J. Do not use finalizers
DC.THREADING.thread_runTHI00-J. Do not invoke Thread.run()
FB.RU_INVOKE_RUNMET10-J. Follow the general contract when implementing the compareTo() method
FB.FI_PUBLIC_SHOULD_BE_ PROTECTEDMET12-J. Do not use finalizers
PW.ABNORMAL_TERMINATION_ OF_FINALLY_BLOCKERR04-J. Do not complete abruptly from a finally block
PW.ABNORMAL_TERMINATION_ OF_FINALLY_BLOCKERR05-J. Do not let checked exceptions escape from a finally block
DC.THREADINGMET12-J. Do not use finalizers
FB.FI_EMPTYMET12-J. Do not use finalizers
FB.FI_EXPLICIT_INVOCATIONMET12-J. Do not use finalizers
FB.FI_FINALIZER_NULLS_FIELDSMET12-J. Do not use finalizers
FB.FI_FINALIZER_ONLY_NULLS_FIELDSMET12-J. Do not use finalizers
FB.FI_MISSING_SUPER_CALLMET12-J. Do not use finalizers
FB.FI_NULLIFY_SUPERMET12-J. Do not use finalizers
FB.FI_USELESSMET12-J. Do not use finalizers
BAD_EQ
EXP02-J. Use the two-argument Arrays.equals() method to compare the contents of arrays
FB.EQ_ABSTRACT_SELFEXP02-J. Use the two-argument Arrays.equals() method to compare the contents of arrays
FB.EQ_ALWAYS_FALSEEXP02-J. Use the two-argument Arrays.equals() method to compare the contents of arrays
FB.EQ_ALWAYS_TRUEEXP02-J. Use the two-argument Arrays.equals() method to compare the contents of arrays
FB.EQ_CHECK_FOR_OPERAND_NOT_ COMPATIBLE_WITH_THISEXP02-J. Use the two-argument Arrays.equals() method to compare the contents of arrays
FB.EQ_COMPARETO_USE_OBJECT_ EQUALSEXP02-J. Use the two-argument Arrays.equals() method to compare the contents of arrays
FB.EQ_COMPARING_CLASS_NAMESEXP02-J. Use the two-argument Arrays.equals() method to compare the contents of arrays
FB.EQ_DOESNT_OVERRIDE_EQUALSEXP02-J. Use the two-argument Arrays.equals() method to compare the contents of arrays
FB.EQ_DONT_DEFINE_EQUALS_ FOR_ENUMEXP02-J. Use the two-argument Arrays.equals() method to compare the contents of arrays
FB.EQ_GETCLASS_AND_CLASS_ CONSTANTEXP02-J. Use the two-argument Arrays.equals() method to compare the contents of arrays
FB.EQ_OTHER_NO_OBJECTEXP02-J. Use the two-argument Arrays.equals() method to compare the contents of arrays
FB.EQ_OTHER_USE_OBJECTEXP02-J. Use the two-argument Arrays.equals() method to compare the contents of arrays
FB.EQ_OVERRIDING_EQUALS_ NOT_SYMMETRICEXP02-J. Use the two-argument Arrays.equals() method to compare the contents of arrays
FB.EQ_SELF_NO_OBJECTEXP02-J. Use the two-argument Arrays.equals() method to compare the contents of arrays
FB.EQ_SELF_USE_OBJECTEXP02-J. Use the two-argument Arrays.equals() method to compare the contents of arrays
FB.EQ_UNUSUAL
EXP02-J. Use the two-argument Arrays.equals() method to compare the contents of arrays
BAD_EQ
EXP03-J. Do not use the equality operators when comparing values of boxed primitives
FB.EQ_ABSTRACT_SELFEXP03-J. Do not use the equality operators when comparing values of boxed primitives
FB.EQ_ALWAYS_FALSEEXP03-J. Do not use the equality operators when comparing values of boxed primitives
FB.EQ_ALWAYS_TRUEEXP03-J. Do not use the equality operators when comparing values of boxed primitives
FB.EQ_CHECK_FOR_OPERAND_NOT_ COMPATIBLE_WITH_THISEXP03-J. Do not use the equality operators when comparing values of boxed primitives
FB.EQ_COMPARETO_USE_OBJECT_ EQUALSEXP03-J. Do not use the equality operators when comparing values of boxed primitives
FB.EQ_COMPARING_CLASS_NAMESEXP03-J. Do not use the equality operators when comparing values of boxed primitives
FB.EQ_DOESNT_OVERRIDE_EQUALSEXP03-J. Do not use the equality operators when comparing values of boxed primitives
FB.EQ_DONT_DEFINE_EQUALS_ FOR_ENUMEXP03-J. Do not use the equality operators when comparing values of boxed primitives
FB.EQ_GETCLASS_AND_CLASS_ CONSTANTEXP03-J. Do not use the equality operators when comparing values of boxed primitives
FB.EQ_OTHER_NO_OBJECTEXP03-J. Do not use the equality operators when comparing values of boxed primitives
FB.EQ_OTHER_USE_OBJECTEXP03-J. Do not use the equality operators when comparing values of boxed primitives
FB.EQ_OVERRIDING_EQUALS_ NOT_SYMMETRICEXP03-J. Do not use the equality operators when comparing values of boxed primitives
FB.EQ_SELF_NO_OBJECTEXP03-J. Do not use the equality operators when comparing values of boxed primitives
FB.EQ_SELF_USE_OBJECTEXP03-J. Do not use the equality operators when comparing values of boxed primitives
FB.EQ_UNUSUAL
EXP03-J. Do not use the equality operators when comparing values of boxed primitives
FB.ES_COMPARING_PARAMETER_ STRING_WITH_EQEXP03-J. Do not use the equality operators when comparing values of boxed primitives
FB.ES_COMPARING_STRINGS_ WITH_EQEXP03-J. Do not use the equality operators when comparing values of boxed primitives
FB.ES_COMPARING_PARAMETER_ STRING_WITH_EQEXP03-J. Do not use the equality operators when comparing values of boxed primitives
DOUBLE_CHECK_LOCKLCK10-J. Do not use incorrect forms of the double-checked locking idiom
FB.DC_DOUBLECHECKLCK10-J. Do not use incorrect forms of the double-checked locking idiom
ATOMICITYVNA03-J. Do not assume that a group of calls to independently atomic methods is atomic
HARDCODED_CREDENTIALSMSC03-J. Never hard code sensitive information
CONFIGMSC03-J. Never hard code sensitive information
LOCK_INVERSIONLCK07-J. Avoid deadlock by requesting and releasing locks in the same order
LOCK_ORDERINGLCK07-J. Avoid deadlock by requesting and releasing locks in the same order