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
, но я не уверен.
Любые идеи?