Weaknesses in this category are related to the CISQ Quality Measures for Reliability, as documented in 2016 with the Automated Source Code CISQ Reliability Measure (ASCRM) Specification 1.0. Presence of these weaknesses could reduce the reliability of the software.
*
Base
Base - a weakness that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.
Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')
- (120)
1128
(CISQ Quality Measures (2016)) >
1129
(CISQ Quality Measures (2016) - Reliability) >
120
(Buffer Copy without Checking Size of Input ('Classic Buffer Overflow'))
The product copies an input buffer to an output buffer without verifying that the size of the input buffer is less than the size of the output buffer.
Classic Buffer Overflow
Unbounded Transfer
*
Base
Base - a weakness that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.
Unchecked Return Value
- (252)
1128
(CISQ Quality Measures (2016)) >
1129
(CISQ Quality Measures (2016) - Reliability) >
252
(Unchecked Return Value)
The product does not check the return value from a method or function, which can prevent it from detecting unexpected states and conditions.
*
Base
Base - a weakness that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.
Declaration of Catch for Generic Exception
- (396)
1128
(CISQ Quality Measures (2016)) >
1129
(CISQ Quality Measures (2016) - Reliability) >
396
(Declaration of Catch for Generic Exception)
Catching overly broad exceptions promotes complex error handling code that is more likely to contain security vulnerabilities.
*
Base
Base - a weakness that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.
Declaration of Throws for Generic Exception
- (397)
1128
(CISQ Quality Measures (2016)) >
1129
(CISQ Quality Measures (2016) - Reliability) >
397
(Declaration of Throws for Generic Exception)
The product throws or raises an overly broad exceptions that can hide important details and produce inappropriate responses to certain conditions.
*
Variant
Variant - a weakness that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.
Missing Initialization of a Variable
- (456)
1128
(CISQ Quality Measures (2016)) >
1129
(CISQ Quality Measures (2016) - Reliability) >
456
(Missing Initialization of a Variable)
The product does not initialize critical variables, which causes the execution environment to use unexpected values.
*
Class
Class - a weakness that is described in a very abstract fashion, typically independent of any specific language or technology. More specific than a Pillar Weakness, but more general than a Base Weakness. Class level weaknesses typically describe issues in terms of 1 or 2 of the following dimensions: behavior, property, and resource.
Uncontrolled Recursion
- (674)
1128
(CISQ Quality Measures (2016)) >
1129
(CISQ Quality Measures (2016) - Reliability) >
674
(Uncontrolled Recursion)
The product does not properly control the amount of recursion that takes place, consuming excessive resources, such as allocated memory or the program stack.
Stack Exhaustion
*
Class
Class - a weakness that is described in a very abstract fashion, typically independent of any specific language or technology. More specific than a Pillar Weakness, but more general than a Base Weakness. Class level weaknesses typically describe issues in terms of 1 or 2 of the following dimensions: behavior, property, and resource.
Incorrect Type Conversion or Cast
- (704)
1128
(CISQ Quality Measures (2016)) >
1129
(CISQ Quality Measures (2016) - Reliability) >
704
(Incorrect Type Conversion or Cast)
The product does not correctly convert an object, resource, or structure from one type to a different type.
*
Base
Base - a weakness that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.
Missing Release of Resource after Effective Lifetime
- (772)
1128
(CISQ Quality Measures (2016)) >
1129
(CISQ Quality Measures (2016) - Reliability) >
772
(Missing Release of Resource after Effective Lifetime)
The product does not release a resource after its effective lifetime has ended, i.e., after the resource is no longer needed.
*
Base
Base - a weakness that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.
Access of Memory Location After End of Buffer
- (788)
1128
(CISQ Quality Measures (2016)) >
1129
(CISQ Quality Measures (2016) - Reliability) >
788
(Access of Memory Location After End of Buffer)
The product reads or writes to a buffer using an index or pointer that references a memory location after the end of the buffer.
*
Base
Base - a weakness that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.
Parent Class with a Virtual Destructor and a Child Class without a Virtual Destructor
- (1045)
1128
(CISQ Quality Measures (2016)) >
1129
(CISQ Quality Measures (2016) - Reliability) >
1045
(Parent Class with a Virtual Destructor and a Child Class without a Virtual Destructor)
A parent class has a virtual destructor method, but the parent has a child class that does not have a virtual destructor.
*
Base
Base - a weakness that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.
Modules with Circular Dependencies
- (1047)
1128
(CISQ Quality Measures (2016)) >
1129
(CISQ Quality Measures (2016) - Reliability) >
1047
(Modules with Circular Dependencies)
The product contains modules in which one module has references that cycle back to itself, i.e., there are circular dependencies.
*
Base
Base - a weakness that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.
Initialization with Hard-Coded Network Resource Configuration Data
- (1051)
1128
(CISQ Quality Measures (2016)) >
1129
(CISQ Quality Measures (2016) - Reliability) >
1051
(Initialization with Hard-Coded Network Resource Configuration Data)
The product initializes data using hard-coded values that act as network resource identifiers.
*
Base
Base - a weakness that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.
Invokable Control Element with Variadic Parameters
- (1056)
1128
(CISQ Quality Measures (2016)) >
1129
(CISQ Quality Measures (2016) - Reliability) >
1056
(Invokable Control Element with Variadic Parameters)
A named-callable or method control element has a signature that
supports a variable (variadic) number of parameters or arguments.
*
Base
Base - a weakness that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.
Invokable Control Element in Multi-Thread Context with non-Final Static Storable or Member Element
- (1058)
1128
(CISQ Quality Measures (2016)) >
1129
(CISQ Quality Measures (2016) - Reliability) >
1058
(Invokable Control Element in Multi-Thread Context with non-Final Static Storable or Member Element)
The code contains a function or method that
operates in a multi-threaded environment but owns an unsafe non-final
static storable or member data element.
*
Base
Base - a weakness that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.
Parent Class with References to Child Class
- (1062)
1128
(CISQ Quality Measures (2016)) >
1129
(CISQ Quality Measures (2016) - Reliability) >
1062
(Parent Class with References to Child Class)
The code has a parent class that contains references to a child class, its methods, or its members.
*
Base
Base - a weakness that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.
Runtime Resource Management Control Element in a Component Built to Run on Application Servers
- (1065)
1128
(CISQ Quality Measures (2016)) >
1129
(CISQ Quality Measures (2016) - Reliability) >
1065
(Runtime Resource Management Control Element in a Component Built to Run on Application Servers)
The product uses deployed components from application servers, but it also uses low-level functions/methods for management of resources, instead of the API provided by the application server.
*
Base
Base - a weakness that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.
Missing Serialization Control Element
- (1066)
1128
(CISQ Quality Measures (2016)) >
1129
(CISQ Quality Measures (2016) - Reliability) >
1066
(Missing Serialization Control Element)
The product contains a serializable data element that does not
have an associated serialization method.
*
Variant
Variant - a weakness that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.
Empty Exception Block
- (1069)
1128
(CISQ Quality Measures (2016)) >
1129
(CISQ Quality Measures (2016) - Reliability) >
1069
(Empty Exception Block)
An invokable code block contains an exception handling block that does not contain any code, i.e. is empty.
*
Base
Base - a weakness that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.
Serializable Data Element Containing non-Serializable Item Elements
- (1070)
1128
(CISQ Quality Measures (2016)) >
1129
(CISQ Quality Measures (2016) - Reliability) >
1070
(Serializable Data Element Containing non-Serializable Item Elements)
The product contains a serializable, storable data element such as a field or member,
but the data element contains member elements that are not
serializable.
*
Variant
Variant - a weakness that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.
Floating Point Comparison with Incorrect Operator
- (1077)
1128
(CISQ Quality Measures (2016)) >
1129
(CISQ Quality Measures (2016) - Reliability) >
1077
(Floating Point Comparison with Incorrect Operator)
The code performs a comparison such as an
equality test between two float (floating point) values, but
it uses comparison operators that do not account for the
possibility of loss of precision.
*
Base
Base - a weakness that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.
Parent Class without Virtual Destructor Method
- (1079)
1128
(CISQ Quality Measures (2016)) >
1129
(CISQ Quality Measures (2016) - Reliability) >
1079
(Parent Class without Virtual Destructor Method)
A parent class contains one or more child classes, but the parent class does not have a virtual destructor method.
*
Base
Base - a weakness that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.
Class Instance Self Destruction Control Element
- (1082)
1128
(CISQ Quality Measures (2016)) >
1129
(CISQ Quality Measures (2016) - Reliability) >
1082
(Class Instance Self Destruction Control Element)
The code contains a class instance that calls the method or function to delete or destroy itself.
*
Base
Base - a weakness that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.
Data Access from Outside Expected Data Manager Component
- (1083)
1128
(CISQ Quality Measures (2016)) >
1129
(CISQ Quality Measures (2016) - Reliability) >
1083
(Data Access from Outside Expected Data Manager Component)
The product is intended to manage data access through a particular data manager component such as a relational or non-SQL database, but it contains code that performs data access operations without using that component.
*
Base
Base - a weakness that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.
Class with Virtual Method without a Virtual Destructor
- (1087)
1128
(CISQ Quality Measures (2016)) >
1129
(CISQ Quality Measures (2016) - Reliability) >
1087
(Class with Virtual Method without a Virtual Destructor)
A class contains a virtual method, but the method does not have an associated virtual destructor.
*
Base
Base - a weakness that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.
Synchronous Access of Remote Resource without Timeout
- (1088)
1128
(CISQ Quality Measures (2016)) >
1129
(CISQ Quality Measures (2016) - Reliability) >
1088
(Synchronous Access of Remote Resource without Timeout)
The code has a synchronous call to a remote resource, but there is no timeout for the call, or the timeout is set to infinite.
*
Base
Base - a weakness that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.
Persistent Storable Data Element without Associated Comparison Control Element
- (1097)
1128
(CISQ Quality Measures (2016)) >
1129
(CISQ Quality Measures (2016) - Reliability) >
1097
(Persistent Storable Data Element without Associated Comparison Control Element)
The product uses a storable data element that does not have
all of the associated functions or methods that are necessary to support
comparison.
*
Variant
Variant - a weakness that is linked to a certain type of product, typically involving a specific language or technology. More specific than a Base weakness. Variant level weaknesses typically describe issues in terms of 3 to 5 of the following dimensions: behavior, property, technology, language, and resource.
Singleton Class Instance Creation without Proper Locking or Synchronization
- (1096)
1128
(CISQ Quality Measures (2016)) >
1129
(CISQ Quality Measures (2016) - Reliability) >
1096
(Singleton Class Instance Creation without Proper Locking or Synchronization)
The product implements a Singleton design pattern but does not use appropriate locking or other synchronization mechanism to ensure that the singleton class is only instantiated once.
*
Base
Base - a weakness that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. Base level weaknesses typically describe issues in terms of 2 or 3 of the following dimensions: behavior, property, technology, language, and resource.
Data Element containing Pointer Item without Proper Copy Control Element
- (1098)
1128
(CISQ Quality Measures (2016)) >
1129
(CISQ Quality Measures (2016) - Reliability) >
1098
(Data Element containing Pointer Item without Proper Copy Control Element)
The code contains a data element with a pointer that does not have an associated copy or constructor method.