CWE-563 未使用的变量

Assignment to Variable without Use

结构: Simple

Abstraction: Variant

状态: Draft

被利用可能性: unkown

基本描述

The variable's value is assigned but never used, making it a dead store.

扩展描述

After the assignment, the variable is either assigned another value or goes out of scope. It is likely that the variable is simply vestigial, but it is also possible that the unused variable points out a bug.

相关缺陷

  • cwe_Nature: ChildOf cwe_CWE_ID: 1164 cwe_View_ID: 1000 cwe_Ordinal: Primary

  • cwe_Nature: ChildOf cwe_CWE_ID: 1164 cwe_View_ID: 699 cwe_Ordinal: Primary

常见的影响

范围 影响 注释
Other ['Quality Degradation', 'Varies by Context'] This weakness could be an indication of a bug in the program or a deprecated variable that was not removed and is an indication of poor quality. This could lead to further bugs and the introduction of weaknesses.

可能的缓解方案

Implementation

策略:

Remove unused variables from the code.

示例代码

The following code excerpt assigns to the variable r and then overwrites the value without using it.

bad C

r = getName();
r = getNewBuffer(buf);

分类映射

映射的分类名 ImNode ID Fit Mapped Node Name
CERT C Secure Coding MSC00-C Compile cleanly at high warning levels
SEI CERT Perl Coding Standard MSC01-PL Imprecise Detect and remove unused variables
Software Fault Patterns SFP2 Unused Entities