-fstack-check
: İki özellik makro STACK_CHECK_BUILTIN
ve STACK_CHECK_STATIC_BUILTIN
varsayılan 0 bırakılırsa, bu sadece bir NULL karakter yerleştirilmeli her 4kb'lik (sayfa) yığın büyüdükçe. Varsayılan olarak yalnızca bir tane, ancak yığın birden fazla sayfa olduğunda büyüyebilir, bu en tehlikeli durum olan her 4 KB'dir. linux> 2.6 sadece yığın ve yığın arasında yalnızca bir küçük sayfa boşluğuna sahiptir. Bu durum, 2005'ten beri bilinen yığın-boşluk saldırılarına yol açabilir. Montaj için bkz. What exception is raised in C by GCC -fstack-check option. Gcc'de en az 2,95,3'ten beri, 3,6'dan beri argoda aktiftir.
__stack_chk_fail
, basit bir yığın taşmasıyla üzerine yazılabilen takılı bir yığın kanarya değerini doğrulayan takılı -fstack-protector
kodudur, örn. özyineleme ile.
bazı kod örnekleri ve çıktıları ile detaylandırır mısınız? –
Bunun sizin hatanınızla ilgisi yoktur. Cevabımı aşağıya bakın – rurban