Хочу настроить libsafe для защиты от переполнения буфера. Есть такой кусок
#include <stdio.h>
#include <iostream.h>
int overflow (char *data);
main ()
{
char userinput[99999];
gets (userinput);
overflow(userinput);
exit(0);
}
int overflow (char *data)
{
char filename[1];
strcpy(filename,data);
return 0;
}
Компилируем, запускаем. При вводе большого количества символов падает в segmentation fault.
ACCEPT_KEYWORDS="~x86"emerge libsafe
LD_PRELOAD=libsafe.so.2
Тоже самое. Тоесть libsafe не защищает. Или я чтото не так делаю?
P.s
Смущает вывод
strace ./buf_over
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)