CWE-481
Assigning instead of Comparing
AI Translation Available
The code uses an operator for assignment when the intention was to perform a comparison.
Status
draft
Abstraction
variant
Likelihood
low
Affected Platforms
C
C#
C++
Java
Extended Description
AI Translation
In many languages the compare statement is very close in appearance to the assignment statement and are often confused. This bug is generally the result of a typo and usually causes obvious problems with program execution. If the comparison is in an if statement, the if statement will usually evaluate the value of the right-hand side of the predicate.
Technical Details
AI Translation
Common Consequences
other
Impacts
alter execution logic
Detection Methods
automated static analysis
Potential Mitigations
Phases:
testing
implementation
Descriptions:
•
Many IDEs and static analysis products will detect this problem.
•
Place constants on the left. If one attempts to assign a constant with a variable, the compiler will produce an error.