LINUX.ORG.RU

libsafe


0

0

Хочу настроить 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)

Может надо

export LD_PRELOAD=/lib/libsafe.so.2

>access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)

ИМХО, это нормально

mky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.