LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 730|回复: 3

POSIX1中有什么函数是不安全的吗?

[复制链接]
发表于 2004-3-3 23:47:36 | 显示全部楼层 |阅读模式

fprintf() 没有指定缓冲区大小。
发表于 2004-3-4 00:13:18 | 显示全部楼层
如果这样想的话 所有的函数都是不安全的

如fclose 当指针为NULL时会产生core


好的程序员已经知道这个函数的功能 然后才使用
发表于 2004-3-4 07:10:42 | 显示全部楼层
fprintf这种输出函数一般不需要指定缓冲区大小,因为它输出的缓冲区在内存里,这个是由程序员控制的,一般不存在溢出的问题,如果溢出了,也不是由fprintf造成的,肯定是在别的地方出的问题。
比如,如果你用了gets,编译器就会警告你不安全,但是用puts就不会。
 楼主| 发表于 2004-3-4 19:19:09 | 显示全部楼层
谢谢两位版主!!《APUE》里说:有一个黑软就是通过fprintf()的漏洞攻击远程主机的,这本书好象就提到这两个(fprint() gets())有漏洞,没有其他的了。。但手册可能说有把,可惜E文不好。。:confused: :confused:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表