If you had a very complex and important function in C that you wanted to protect, would it be worth it to put a 65K buffer at the top of the stack to protect from buffer overflows? You would put your important buffers below the 65K buffer so that the stack looks like this:
[Saved EIP] // higher adddresses
[ ... ]
[ 65K ]
[ ... ] // other stack variables and buffers
This way if there was a buffer overflow below the 65K, it would overflow into the 65K buffer and would not reach the stack variables.
Is this a feasible defence against buffer overflows?