What is the meaning of Buffer Overflow?

Buffer Overflow refers to the situation when more data is stored by a program in temporary storage than its capacity. This can have many repercussions as usage outside of the allocated memory can lead to corruption of the data, crashing of the entire program or even execution of malicious code which can permit the attacker