Вопросы с тегом «buffer-overflow»

14
Почему это делается для выхода из цикла на некоторых платформах, а не на других?
Я недавно начал изучать C, и я беру класс с C в качестве предмета. В настоящее время я играю с петлями и сталкиваюсь со странным поведением, которое не знаю, как объяснить. #include <stdio.h> int main() { int array[10],i; for (i = 0; i <=10 ; i++) { array[i]=0; /*code should …

11
Почему функция get так опасна, что ее нельзя использовать?
Когда я пытаюсь скомпилировать код C, который использует gets()функцию с GCC, я получаю это предупреждение: (.text + 0x34): предупреждение: функция `gets 'опасна и не должна использоваться. Я помню, что это как-то связано с защитой стека и безопасностью, но я точно не знаю, почему. Как я могу удалить это предупреждение и …
229 c  fgets  buffer-overflow  gets 

5
Почему этот код уязвим для атак переполнения буфера?
int func(char* str) { char buffer[100]; unsigned short len = strlen(str); if(len >= 100) { return (-1); } strncpy(buffer,str,strlen(str)); return 0; } Этот код уязвим для атаки переполнения буфера, и я пытаюсь выяснить, почему. Я думаю, что это связано с lenтем, чтобы быть объявленным shortвместо int, но я не совсем …


10
Почему вы должны использовать strncpy вместо strcpy?
Изменить: я добавил источник для примера. Я наткнулся на такой пример : char source[MAX] = "123456789"; char source1[MAX] = "123456789"; char destination[MAX] = "abcdefg"; char destination1[MAX] = "abcdefg"; char *return_string; int index = 5; /* This is how strcpy works */ printf("destination is originally = '%s'\n", destination); return_string = strcpy(destination, …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.