Buffer Overflow Intro. ©2002, Jedidiah R. Crandall, Susan L. Gerhart, Jan G. Hogle.  http://sfsecurity.pr.erau.edu
Problem: Subroutine data also needs to go on and off  the stack, too
Alice wants other things to go on the stack, too, like temporary buffers for storing data that only subroutine S needs. 

That way, when subroutine S returns execution to R the return pointer is popped off the stack, but also on the stack is all of S’s temporary memory which needs to be taken off the stack and destroyed.