When the size argument exceeds the actual size of the buffer, the memory management functions will either read or write data past the buffer memory boundary into adjacent memory. Because the memory might be uninitialized or contain other pieces of data, the behavior of the affected function can not be predicted and will likely trigger bugs.
