セキュアコーディングにおいて、メモリ破壊攻撃(バッファオーバーフロー等)を防ぐために、コンパイラがスタック上に配置する「カナリア(Canary)」の役割はどれか。

スタックカナリアは、バッファと制御データ(リターンアドレス等)の間に配置される値で、これが変更されている場合はバッファオーバーフローが発生したと判断し、実行を停止する。