Glossary
•Push – Pushing is the operation of putting something new on the top of a stack.  Computers use pushing to store the return pointer when one subroutine calls another subroutine. •Pop – Popping is the operation of taking something off the top of a stack.  Computers use pop operations to retrieve the stored return pointer and use it as a reference to get back to the original subroutine that made the call to the subroutine that just finished. •Return pointer – A return pointer is a special kind of pointer that computers use on a stack to remember what instruction they were about to execute in one subroutine when they had to go start executing another subroutine. •C – C is the most commonly used high-level computer programming language, and the one most responsible for the buffer overflow problem.  C source code is compiled into a low-level language that a computer can understand, such as a bunch of pieces of paper with numbers written on them in mailboxes.