Perchè -fstack-protector ottimizza se una funzione non assegna un array di 8 o più byte?

0

In base al documento delle opzioni di strumentazione gcc , il -fstack-protector protegge solo contro "funzioni che chiamano alloca e funziona con buffer superiori a 8 byte."

Come sono i buffer più grandi di 8 byte diversi da quelli che sono più piccoli di 8 byte? Perché gcc può affermare che i buffer piccoli sono probabilmente più sicuri da ottimizzare?

In un commento nel link , brantgurga afferma che "8 byte è stata trovata per essere la soglia in cui la probabilità di overflow valeva il costo della prestazione della protezione. " Tuttavia, sono confuso sul motivo per cui una dimensione di un buffer ha una relazione con la probabilità di un buffer overflow.

    
posta kshikama 15.09.2016 - 05:53
fonte

0 risposte

Leggi altre domande sui tag