ഓരോ സ്റ്റാക്ക് ഫ്രെയിമിലുമുള്ള കാനറികൾ ഒരു buffer overflow കണ്ടെത്തും. ഇത് ഫംഗ്ഷന്  റിട്ടേൺ സമയത്ത് പിടിക്കപ്പെടുകയും എക്സിക്യൂഷന്റെ അട്ടിമറി തടയുകയും ചെയ്യും.
ஒவ்வொரு ஸ்டேக் ஃபிரேமிலும் இருக்கும் கேனரிகள் ஒரு பஃபரை ஓவர்ப்லொ ஆகிறது மற்றும் அந்த ஸ்டேக் ஃபிரேமைக் கடக்கிறது என்பதைக் கண்டுபிடிக்கும், மேலும் இது பங்க்ஷன் திரும்பும் போது பிடிபடும் மற்றும் செயல்படுத்துதல் தடுக்கப்படும்.