/* * Corrompe o conteúdo da pilha. */ #include int f(int param_f) { int v[2]; printf("¶m_f = %p\n", ¶m_f); printf("&v[4] = %p\n", &v[4]); printf("&v[3] = %p\n", &v[3]); printf("&v[2] = %p\n", &v[2]); printf("&v[1] = %p\n", &v[1]); printf("&v[0] = %p\n", &v[0]); v[4] = 372; /* Corrompe param_f? */ printf("param_f = %d\n", param_f); printf("Endereço de retorno = %p\n", (void*) v[3]); v[3] = 0; /* Corrompe endereço de retorno? */ return 0; } int main() { f(0); return 0; }