GitHub
CERT Secure Coding

CodeSonar

This page was automatically generated and should not be edited.

The information on this page was provided by outside contributors and has not been verified by SEI CERT.

The table below can be re-ordered, by clicking column headers.

Tool Version: 9.0p0

CheckerGuideline
JAVA.ALLOC.LEAK.NOTCLOSEDFIO04-J. Release resources when they are no longer needed
JAVA.ALLOC.LEAK.NOTSTOREDFIO04-J. Release resources when they are no longer needed
JAVA.ALLOC.LEAK.NOTSTOREDSER10-J. Avoid memory and resource leaks during serialization
JAVA.ALLOC.LEAK.NOTSTOREDMSC05-J. Do not exhaust heap space
JAVA.ARITH.FPEQUALNUM12-J. Ensure conversions of numeric types to narrower types do not result in lost or misinterpreted data
JAVA.ARITH.OFLOWNUM00-J. Detect or prevent integer overflow
JAVA.CAST.FTRUNCNUM12-J. Ensure conversions of numeric types to narrower types do not result in lost or misinterpreted data
JAVA.CAST.FTRUNCNUM13-J. Avoid loss of precision when converting primitive integers to floating-point
JAVA.CLASS.ACCESS.BYPASSSEC05-J. Do not use reflection to increase accessibility of classes, methods, or fields
JAVA.CLASS.ACCESS.MODIFYSEC05-J. Do not use reflection to increase accessibility of classes, methods, or fields
JAVA.CLASS.CLONE.CCSMMET53-J. Ensure that the clone() method calls super.clone()
JAVA.CLASS.CLONE.CNCOBJ07-J. Sensitive classes must not let themselves be copied
JAVA.CLASS.CLONE.NFOBJ07-J. Sensitive classes must not let themselves be copied
JAVA.CLASS.CLONE.SCNCOBJ07-J. Sensitive classes must not let themselves be copied
JAVA.CLASS.ICSBSOBJ08-J. Do not expose private members of an outer class from within a nested class
JAVA.CLASS.MCSMET53-J. Ensure that the clone() method calls super.clone()
JAVA.CLASS.SER.NDSER01-J. Do not deviate from the proper signatures of serialization methods
JAVA.CLASS.SER.NDSER03-J. Do not serialize unencrypted sensitive data
JAVA.CLASS.SER.NDSER06-J. Make defensive copies of private mutable components during deserialization
JAVA.CLASS.SER.NDSER07-J. Do not use the default serialized form for classes with implementation-defined invariants
JAVA.CLASS.SER.NDSER12-J. Prevent deserialization of untrusted data
JAVA.CLASS.SER.UIDMSER00-J. Enable serialization compatibility during class evolution
JAVA.CLASS.UISER10-J. Avoid memory and resource leaks during serialization
JAVA.CLASS.UIMSC05-J. Do not exhaust heap space
JAVA.COMPARE.CTO.ASSYMMET08-J. Preserve the equality contract when overriding the equals() method
JAVA.COMPARE.EMPTYSTREXP03-J. Do not use the equality operators when comparing values of boxed primitives
JAVA.COMPARE.EQEXP02-J. Do not use the Object.equals() method to compare two arrays
JAVA.COMPARE.EQEXP03-J. Do not use the equality operators when comparing values of boxed primitives
JAVA.COMPARE.EQARRAYEXP02-J. Do not use the Object.equals() method to compare two arrays
JAVA.COMPARE.EQARRAYEXP03-J. Do not use the equality operators when comparing values of boxed primitives
JAVA.CONCURRENCY.LOCK.DCLLCK10-J. Use a correct form of the double-checked locking idiom
JAVA.CONCURRENCY.LOCK.ICSVNA00-J. Ensure visibility when accessing shared primitive variables
JAVA.CONCURRENCY.LOCK.ISTRLCK00-J. Use private final lock objects to synchronize classes that may interact with untrusted code
JAVA.CONCURRENCY.LOCK.SCTBTHI00-J. Do not invoke Thread.run()
JAVA.CONCURRENCY.LOCK.STATICVNA00-J. Ensure visibility when accessing shared primitive variables
JAVA.CONCURRENCY.STARVE.BLOCKINGLCK09-J. Do not perform operations that can block while holding a lock
JAVA.CONCURRENCY.SYNC.MSSVNA00-J. Ensure visibility when accessing shared primitive variables
JAVA.CONCURRENCY.UG.FIELDVNA00-J. Ensure visibility when accessing shared primitive variables
JAVA.CONCURRENCY.UG.METHLCK05-J. Synchronize access to static fields that can be modified by untrusted code
JAVA.CONCURRENCY.UG.PARAMVNA00-J. Ensure visibility when accessing shared primitive variables
JAVA.CONCURRENCY.VOLATILEVNA00-J. Ensure visibility when accessing shared primitive variables
JAVA.CONCURRENCY.VOLATILEVNA03-J. Do not assume that a group of calls to independently atomic methods is atomic
JAVA.CRYPTO.BASE64MSC02-J. Generate strong random numbers
JAVA.CRYPTO.RAMSC02-J. Generate strong random numbers
JAVA.CRYPTO.RCFMSC02-J. Generate strong random numbers
JAVA.CRYPTO.RFMSC02-J. Generate strong random numbers
JAVA.CRYPTO.WHAFMSC02-J. Generate strong random numbers
JAVA.DEBUG.CALLERR09-J. Do not allow untrusted code to terminate the JVM
JAVA.DEBUG.CEDFENV06-J. Production code must not contain debugging entry points
JAVA.DEBUG.LOGERR02-J. Prevent exceptions while logging data
JAVA.DEBUG.MEDFENV06-J. Production code must not contain debugging entry points
JAVA.DEEPNULL.DEREFEXP01-J. Do not use a null in a case where an object is required
JAVA.DEEPNULL.EFIELDEXP01-J. Do not use a null in a case where an object is required
JAVA.DEEPNULL.FIELDEXP01-J. Do not use a null in a case where an object is required
JAVA.DEEPNULL.PARAM.ACTUALEXP01-J. Do not use a null in a case where an object is required
JAVA.DEEPNULL.PARAM.EACTUALEXP01-J. Do not use a null in a case where an object is required
JAVA.DEEPNULL.RET.EMETHEXP01-J. Do not use a null in a case where an object is required
JAVA.DEEPNULL.RET.METHEXP01-J. Do not use a null in a case where an object is required
JAVA.FUNCS.IRVEXP00-J. Do not ignore values returned by methods
JAVA.FUNCS.IRVFIO02-J. Detect and handle file-related errors
JAVA.HARDCODED.PASSWDMSC03-J. Never hard code sensitive information
JAVA.HARDCODED.SEEDMSC02-J. Generate strong random numbers
JAVA.IDEF.CTOEQMET08-J. Preserve the equality contract when overriding the equals() method
JAVA.IDEF.CTONOEQMET08-J. Preserve the equality contract when overriding the equals() method
JAVA.IDEF.EQUALSNOHCMET09-J. Classes that define an equals() method must also define a hashCode() method
JAVA.IDEF.HCNOEQUALSMET09-J. Classes that define an equals() method must also define a hashCode() method
JAVA.IDEF.NOEQUALSMET08-J. Preserve the equality contract when overriding the equals() method
JAVA.INSEC.LDAP.DAENV01-J. Place all security-sensitive code in a single JAR and sign and seal it
JAVA.IO.INJ.ANDROID.MESSAGESER02-J. Sign then seal objects before sending them outside a trust boundary
JAVA.IO.INJ.ANDROID.MESSAGESEC06-J. Do not rely on the default automatic signature verification provided by URLClassLoader and java.util.jar
JAVA.IO.INJ.CODEIDS14-J. Do not trust the contents of hidden form fields
JAVA.IO.INJ.COMMANDIDS07-J. Sanitize untrusted data passed to the Runtime.exec() method
JAVA.IO.INJ.COMMANDIDS14-J. Do not trust the contents of hidden form fields
JAVA.IO.INJ.DENIALIDS14-J. Do not trust the contents of hidden form fields
JAVA.IO.INJ.DLLIDS14-J. Do not trust the contents of hidden form fields
JAVA.IO.INJ.SQLIDS00-J. Prevent SQL injection
JAVA.IO.INJ.SQLIDS14-J. Do not trust the contents of hidden form fields
JAVA.IO.INJ.XSSIDS14-J. Do not trust the contents of hidden form fields
JAVA.IO.INJ.XSS.EMWPIDS14-J. Do not trust the contents of hidden form fields
JAVA.IO.PERMFIO01-J. Create files with appropriate access permissions
JAVA.IO.PERMSEC01-J. Do not allow tainted variables in privileged blocks
JAVA.IO.PERMENV03-J. Do not grant dangerous combinations of permissions
JAVA.IO.PERM.ACCESSFIO01-J. Create files with appropriate access permissions
JAVA.IO.PERM.ACCESSSEC01-J. Do not allow tainted variables in privileged blocks
JAVA.IO.TAINT.ADDRIDS14-J. Do not trust the contents of hidden form fields
JAVA.IO.TAINT.BUNDLEIDS14-J. Do not trust the contents of hidden form fields
JAVA.IO.TAINT.CONTROLIDS14-J. Do not trust the contents of hidden form fields
JAVA.IO.TAINT.DEVICEIDS14-J. Do not trust the contents of hidden form fields
JAVA.IO.TAINT.EVALIDS14-J. Do not trust the contents of hidden form fields
JAVA.IO.TAINT.HTTPIDS14-J. Do not trust the contents of hidden form fields
JAVA.IO.TAINT.LDAP.ATTRIDS14-J. Do not trust the contents of hidden form fields
JAVA.IO.TAINT.LDAP.FILTERIDS14-J. Do not trust the contents of hidden form fields
JAVA.IO.TAINT.LOGIDS03-J. Do not log unsanitized user input
JAVA.IO.TAINT.LOGIDS14-J. Do not trust the contents of hidden form fields
JAVA.IO.TAINT.MESSAGEIDS14-J. Do not trust the contents of hidden form fields
JAVA.IO.TAINT.MESSAGESER02-J. Sign then seal objects before sending them outside a trust boundary
JAVA.IO.TAINT.MESSAGESEC06-J. Do not rely on the default automatic signature verification provided by URLClassLoader and java.util.jar
JAVA.IO.TAINT.PATHIDS14-J. Do not trust the contents of hidden form fields
JAVA.IO.TAINT.REFLECTIONIDS14-J. Do not trust the contents of hidden form fields
JAVA.IO.TAINT.REGEXIDS08-J. Sanitize untrusted data included in a regular expression
JAVA.IO.TAINT.REGEXIDS14-J. Do not trust the contents of hidden form fields
JAVA.IO.TAINT.RESOURCEIDS14-J. Do not trust the contents of hidden form fields
JAVA.IO.TAINT.SESSIONIDS14-J. Do not trust the contents of hidden form fields
JAVA.IO.TAINT.TRUSTEDIDS14-J. Do not trust the contents of hidden form fields
JAVA.IO.TAINT.URLIDS14-J. Do not trust the contents of hidden form fields
JAVA.IO.TAINT.XAMLIDS14-J. Do not trust the contents of hidden form fields
JAVA.IO.TAINT.XMLIDS14-J. Do not trust the contents of hidden form fields
JAVA.IO.TAINT.XPATHIDS14-J. Do not trust the contents of hidden form fields
JAVA.LIB.RAND.FUNCMSC02-J. Generate strong random numbers
JAVA.LIB.RAND.LEGACY.GENMSC02-J. Generate strong random numbers
JAVA.MATH.ABSRANDNUM00-J. Detect or prevent integer overflow
JAVA.MATH.APPROX.ENUM12-J. Ensure conversions of numeric types to narrower types do not result in lost or misinterpreted data
JAVA.MATH.APPROX.PINUM12-J. Ensure conversions of numeric types to narrower types do not result in lost or misinterpreted data
JAVA.MISC.SD.EXTMSC03-J. Never hard code sensitive information
JAVA.NULL.DEREFEXP01-J. Do not use a null in a case where an object is required
JAVA.NULL.PARAM.ACTUALEXP01-J. Do not use a null in a case where an object is required
JAVA.NULL.RET.ARRAYEXP01-J. Do not use a null in a case where an object is required
JAVA.NULL.RET.BOOLEXP01-J. Do not use a null in a case where an object is required
JAVA.NULL.RET.OPTEXP01-J. Do not use a null in a case where an object is required
JAVA.NULL.RET.UNCHECKEDEXP00-J. Do not ignore values returned by methods
JAVA.STRUCT.DUPDEXP01-J. Do not use a null in a case where an object is required
JAVA.STRUCT.EXCP.BROADERR07-J. Do not throw RuntimeException, Exception, or Throwable
JAVA.STRUCT.EXCP.EEHERR00-J. Do not suppress or ignore checked exceptions
JAVA.STRUCT.EXCP.GEHERR08-J. Do not catch NullPointerException or any of its ancestors
JAVA.STRUCT.EXCP.INAPPERR08-J. Do not catch NullPointerException or any of its ancestors
JAVA.STRUCT.SE.ASSERTDCL00-J. Prevent class initialization cycles
JAVA.STRUCT.SE.ASSERTEXP06-J. Expressions used in assertions must not produce side effects
JAVA.STRUCT.UADCL00-J. Prevent class initialization cycles
JAVA.STRUCT.UA.DEFAULTDCL00-J. Prevent class initialization cycles
JAVA.STRUCT.UPDEXP01-J. Do not use a null in a case where an object is required
JAVA.STRUCT.UPEDEXP01-J. Do not use a null in a case where an object is required