CWE-481 — Assigning instead of Comparing
CWE-481: Assigning instead of Comparing
MITRE CWE weakness
| Kind | Weakness |
| Abstraction | Variant |
| Status | Draft |
| Likelihood of exploit | Low |
Description
The code uses an operator for assignment when the intention was to perform a comparison.
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.
Common consequences
- Other: Alter Execution Logic
Mitigations
Implementation — Place constants on the left. If one attempts to assign a constant with a variable, the compiler will produce an error.
References
- CWE page: https://cwe.mitre.org/data/definitions/481.html
- CWE list: https://cwe.mitre.org/data/index.html