CWE
Home > CWE List > CWE-398 Individual Dictionary Definition (Draft 9)   View the CWE List

CWE-398 Individual Dictionary Definition (Draft 9)

Indicator of Poor Code Quality
Weakness ID
Status: Draft

398 (Weakness Class)

Description

Summary

The code has features that do not directly introduce a weakness or vulnerability, but indicate that the product has not been carefully developed or maintained.

Extended Description

Programs are more likely to be secure when good development practices are followed. If a program is complex, difficult to maintain, not portable, or shows evidence of neglect, then there is a higher likelihood that weaknesses are buried in the code.

Relationships
NatureTypeIDName
ChildOfCategoryCategory18Source Code
ParentOfCategoryCategory399Resource Management Errors
ParentOfCategoryCategory417Channel and Path Errors
ParentOfCategoryCategory429Handler Errors
ParentOfCategoryCategory445User Interface Errors
ParentOfCategoryCategory452Initialization and Cleanup Errors
ParentOfCategoryCategory461Data Structure Issues
ParentOfCategoryCategory465Pointer Issues
ParentOfCategoryCategory569Expression Issues
ParentOfWeakness BaseWeakness BaseWeakness Base344Use of Invariant Value in Dynamically Changing Context
ParentOfWeakness ClassWeakness ClassWeakness Class435Interaction Error
ParentOfWeakness BaseWeakness BaseWeakness Base470Use of Externally-Controlled Input to Select Classes or Code (aka 'Unsafe Reflection')
ParentOfWeakness BaseWeakness BaseWeakness Base471Modification of Assumed-Immutable Data (MAID)
ParentOfWeakness BaseWeakness BaseWeakness Base474Use of Function with Inconsistent Implementations
ParentOfWeakness BaseWeakness BaseWeakness Base476NULL Pointer Dereference
ParentOfWeakness BaseWeakness BaseWeakness Base477Use of Obsolete Functions
ParentOfWeakness VariantWeakness VariantWeakness Variant478Failure to Use Default Case in Switch
ParentOfWeakness VariantWeakness VariantWeakness Variant479Unsafe Function Call from a Signal Handler
ParentOfWeakness VariantWeakness VariantWeakness Variant483Incorrect Block Delimitation
ParentOfWeakness BaseWeakness BaseWeakness Base484Omitted Break Statement
ParentOfWeakness VariantWeakness VariantWeakness Variant546Suspicious Comment
ParentOfWeakness VariantWeakness VariantWeakness Variant547Use of Hard-coded, Security-relevant Constants
ParentOfWeakness VariantWeakness VariantWeakness Variant561Dead Code
ParentOfWeakness BaseWeakness BaseWeakness Base562Return of Stack Variable Address
ParentOfWeakness VariantWeakness VariantWeakness Variant563Unused Variable
ParentOfWeakness VariantWeakness VariantWeakness Variant580clone() Method Without super.clone()
ParentOfWeakness VariantWeakness VariantWeakness Variant585Empty Synchronized Block
ParentOfWeakness BaseWeakness BaseWeakness Base595Incorrect Syntactic Object Comparison
ParentOfWeakness BaseWeakness BaseWeakness Base596Incorrect Semantic Object Comparison
ParentOfWeakness VariantWeakness VariantWeakness Variant606Unchecked Input for Loop Condition
ParentOfWeakness VariantWeakness VariantWeakness Variant623Unsafe ActiveX Control Marked Safe For Scripting
Source Taxonomies

7 Pernicious Kingdoms - Code Quality

Page Last Updated: April 22, 2008