#include <string.h>
#include <stdlib.h>
#include <stdio.h>
int main()
{
char *p = NULL;
p = (char *)malloc(10);
memcpy(p,"1234567",strlen("1234567"));
printf("before p = %s\n", p);
printf("p=%p\np+1=%p\n",p,p+1);
strcpy(p+1,p);//这重叠了
printf("after p = %s\n", p);
free(p);
return 0;
}
/****** result *****/
/*
before p=1234567
p=00490FD8
p+1=00490FD9
after p=11234467
*/
strcpy-越界-覆盖
最新推荐文章于 2022-11-26 11:47:32 发布