Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: refinement of intro text

Copying data to a buffer that is not large enough to hold that data results in a buffer overflow. Buffer overflows occur frequently when manipulating strings [Seacord 2013]. To prevent such errors, either limit copies through truncation or, preferably, ensure that the destination is of sufficient size to hold the character data to be copied and the null-termination character. (See STR03-C. Do not inadvertently truncate a string.)

This When strings live on the heap, this rule is a specific instance of MEM35-C. Allocate sufficient memory for an object.  Because strings are represented as arrays of characters, this rule is related to both ARR30-C. Do not form or use out of bounds pointers or array subscripts and ARR38-C. Guarantee that library functions do not form invalid pointers.

...