Answer:
d) buffer overflow
Step-by-step explanation:
When buffer overflow happens, data gets overwritten by caller data that is not supposed to be overwritten.
If the caller data is carefully crafter instruction code, this would be a way to execute malicious code.