编译源程序通过,运行时出错:
*** stack smashing detected ***: ./braodcast_udp terminated
堆栈溢出检测* * * / braodcast_udp终止
这是定义的缓冲区不足。
char my_ip[12];
strcpy(my_ip,inet_ntoa(user_addr.sin_addr));
是不可以的,
char my_ip[13];
strcpy(my_ip,inet_ntoa(user_addr.sin_addr));
可行
本文探讨了编译源程序时出现的堆栈溢出问题,并详细解释了如何通过调整缓冲区大小来解决该问题。文章指出,在使用 strcpy 函数复制 IP 地址到 char 类型变量时,因缓冲区大小不足导致的错误。

被折叠的 条评论
为什么被折叠?



