Content deleted Content added
→Security ramifications: some languages implies not all languages. rephrase awkward sentence. |
|||
Line 25:
In some situations a program may make the assumption that a variable always contains a positive value. If the variable has a signed integer type an overflow can cause its value to wrap and become negative, violating the assumption contained in the program and perhaps leading to unintended behavior. Similarly, subtracting from a small unsigned value may cause it to wrap to a large positive value which may also be an unexpected behavior. Multiplying or adding two integers may result in a value that is non-negative, but unexpectedly small. If this number is used as the number of bytes to allocate for a buffer, the buffer will be allocated unexpectedly small, leading to a potential buffer overflow.
Some languages, such as [[Ada (programming language)|Ada]] (and certain variants of functional languages), provide mechanisms
==Techniques for mitigating integer overflow problems==
|