Skip to content
OpenAdvisories

Weakness (CWE)

CWE-196: Unsigned to Signed Conversion Error

Variant Draft

The product uses an unsigned primitive and performs a cast to a signed primitive, which can produce an unexpected value if the value of the unsigned primitive can not be represented using a signed primitive.

How to prevent it (3 mitigations)
  1. Requirements

    Choose a language which is not subject to these casting flaws.

  2. Architecture and Design

    Design object accessor functions to implicitly check values for valid sizes. Ensure that all functions which will be used as a size are checked previous to use as a size. If the language permits, throw exceptions rather than using in-band errors.

  3. Implementation

    Error check the return values of all functions. Be aware of implicit casts made, and use unsigned variables for sizes if at all possible.

Source: MITRE CWE-196

0 results · Clear filters · Feed

Nothing found.