« 更新 ipcn 加速用的 squid 提一下 log 支持 Referer 和 User-Agent | Main | 搜狗输入法Beta2今日发布 紫光拼音输入法V5 »
June 20, 2006
strcpy 和 内存越界
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。 https://windtear.net/archives/2006/06/20/001010.html http://windtear.net/archives/2006/06/20/001010.html strcpy 和 内存越界 strcpy 和 内存越界的问题 应该算是超级经典了 发生也很容易: 前面的处理发生异常 以至于没有置空最后的内存 Q 同学英明神武的发现并解决了这个问题 记录一下 两件事: 1. 初始化置空很必要(NULL指针和数组最后一个\0) 2. 可以用 strncpy 防止难以预料的越界 strcpy, strncpy - copy a string #include <string.h> char *strcpy(char *dest, const char *src); char *strncpy(char *dest, const char *src, size_t n); const char *mempointer = NULL; char staticarray[128]; memset(staticarray, 0, sizeof(staticarray)); mempointer = ...... strcpy(staticarray, mempointer); strncpy(staticarray, mempointer, sizeof(staticarray)-1); |
Posted by windtear at June 20, 2006 11:43 PM