. :
, . , , , .
, , char buff[20], buff ptr ( ptr=buff). , ( ), function/block , , ptr.
strcpy, , , strcpy , buff. , .
, , .
malloc, malloc , . , ( ).
, , ptr, .
: , , ptr, , , , , . : -)
, ... : -)
PS: , ( ), - :
{
char safe_buffer[20];
char *unsafe_ptr;
int i;
unsafe_ptr = f1();
for(i=0;i<20 && *(unsafe_ptr + i) != 0;i++)
{
*(safe_buffer + i) = *(unsafe_ptr + i);
}
*(safe_buffer + i) = 0;
f2(safe_buffer);
}