То, что локальные переменные живут не на стеке или адрес возврата сохраняется в регистрах, не отменяет возможность buffer overflow. Отменяет лишь в той или иной степени возможность возврата по неправильному адресу.
я говорил про уязвимость связанную с buffer overflow