ExpertiDict

C · Avançado · Inglês · Técnico

stack canary

/stæk kəˈnɛ.ɹi/substantivo

Valor secreto colocado na stack entre os buffers locais e o endereço de retorno. Se um overflow o sobrescrever, o programa é abortado antes de a função retornar.

Onde usar

Ligado com -fstack-protector-strong no gcc, é uma defesa barata contra stack smashing. Não impede o overflow, apenas detecta a corrupção ao sair da função.

Em código

gcc -fstack-protector-strong -O2 prog.c
# aborta: stack smashing detected

Exemplos

The stack canary caught the overflow before the function returned.

O stack canary pegou o overflow antes de a função retornar.

Distros enable the stack canary by default.

As distros ativam o stack canary por padrão.

Cuidado

Achar que dispensa código correto: leituras fora do limite e overflows no heap não são detectados por ele.

Sinônimos

stack protector

Origem

Alusão ao canário usado em minas para avisar do perigo.

Veja também

Todos os termos de C