Science for all





检查系统调用的所有返回值

检查系统调用的所有返回值

每个可以返回错误状态的系统调用都必须检查错误状态。这样做的一个理由是几乎所有的系统调用都会需要有限的系统资源,而用户可以经常以各种方式影响资源。setuid/setgid程序可以通过setrlimit(3)和nice(2)之类的调用来设置这些限制。服务器程序和CGI脚本程序的外部用户可以简单地通过制造大量的同时发起的请求来耗尽资源。如果不能妥善地处理错误,那么就使用前面讨论过的打开失败吧。