int func()
{
char abc[12];
char cde[]=“abcde”;
strcat(abc, cde); 此时就会出现错误,虽然不太明显,但是栈内的数据可能不为空,导致strcat 函数处理完之后,非我们想要的结果。
int func()
{
char abc[12];
abc[0]=0;
char cde[]=“abcde”;
strcat(abc, cde);
从glibc的实现看,这里会从strlen之后做copy。 char * STRCAT (char *dest, const char *src



