Umbra Wiki weakness weakness/CWE-481
Back to wiki

CWE-481 — Assigning instead of Comparing

provenance: imported · CWE: CWE-481

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