Buffer overflows occur when a program variable doesn't have sufficient allocated memory to handle the input size, causing data to overwrite adjacent memory (option D). This is a coding error, not a system-wide RAM shortage (B) or client memory issue (C). Option A is vague but points to the same concept as D.