摘要 |
Buffer overflow exploits in a computer are reduced by encoding linkage information associated with a subroutine, following a call to the subroutine from an application executing on the computer. The encoded linkage information is stored at a first address in a run-time stack in a memory of the computer. Upon exit from the subroutine, the value stored at the first address in the run-time stack is retrieved and decoded to obtain decoded linkage information. Execution of the application continues in accordance with the decoded linkage information. Subroutine data written to the stack is not encoded.
|