mEjY的自由世界

眼界决定世界

[导入]《高质量程序设计》读书笔记之strcpy等

这个问题就是典型的缓冲区溢出的问题。书上给了个netbsd中banner的例子以及应该使用的正确函数。正确的应该使用:strlcpy,strncpy,strlcat,fgets,snprintf,vsnprintf,getcwd;等。如果在vs下开发,则可以利用*_s等。其中的例子:char message[MAXMSG]; if (*argv) { strcpy(message, *argv); while (*++argv) { strcat(message, " "); strcat(message, *argv); } nchars = strlen(message); } else {。。。} 正确的:char *message; if (*argv) { for(i=0, j=0; i < argc; i++) j += strlen(a
文章来源:http://blog.csdn.net/mejy/archive/2008/01/24/2062731.aspx

posted on 2008-01-24 11:25 mEjY 阅读(180) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2008年1月>
303112345
6789101112
13141516171819
20212223242526
272829303112
3456789

导航

统计

常用链接

留言簿(1)

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜