Является ли следующий код уязвимым для буфера с потоком. Укажите, какая строка или строки кода являются ошибочными. Попробуйте устранить эту уязвимость.переполнение буфера Идентификация в коде
#include stdio.h
void manipulate(char *buffer) {
char newbuffer[80];
strcpy(newbuffer,buffer);
}
int main() {
char ch,buffer[4096];
int i=0;
while ((buffer[i++] = getchar()) != '\n') {};
i=1;
manipulate(buffer);
i=2;
printf("The value of i is : %d\n",i);
return 0;
}
Это не похоже на реальный код для меня, а просто для того, чтобы кто-то сбросил с него домашнюю работу. –
домашнее задание на SO – Mohsan