CSC347H5 Chapter Notes - Chapter 1: Data Segment, Abstract Data Type, System Call
Document Summary
It is possible to correct the execution stack by writing past the end of an array declared auto in a route. Through this we can cause the code to jump to a random address through the return of the routine. A buffer is a block of computer memory that holds multiple instances of the same data type. Variables can be declared either static or dynamic. Static are allocated at load time on data segment. Dynamic are allocated at run time on the stack. When we say overflow we mean to fill over the bounds of the stack. Fixed by the program and includes code (instructions) and read-only data. We can change the size of this area through brk(2) system call. Last objected place on stack will be the first objected removed. Pop remove last element at top of stack. The stack is used to dynamically allocate the local variables used in a function.