Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The following example is based on a flaw in the OpenBSD operating system. An integer, skip, is added as an offset to a pointer of type struct big and the sum . The adjusted pointer is then used as a destination address in a call to memset(). However, when skip }}is added to the {{struct big pointer, it is automatically scaled by the size of struct big, which is 32 bytes (assuming 4 byte integers, 8 byte long long integers, and no structure padding). This results in the call to memset() writing to unintended memory.

...