Stack-smashing protection is an exploit mitigation mechanism. It protects the device against buffer overflow attacks by placing a random and known value (called a stack canary) between a buffer and the control data on the stack.