【发布时间】:2016-06-20 20:19:28
【问题描述】:
Coverity 抱怨 . toctou:在检查函数之后调用使用 DIR 的函数 mkdir。这可能会导致检查时间、使用时间竞争条件
if (stat(DIR, &st) != 0)
{
if (mkdir(DIR, 0755) < 0)
{
return ERROR;
}
}
将代码更改为是否足够好,我仅使用 stat 进行文件存在检查
if (mkdir(NDUID_DIR, 0755) < 0)
{
if(errno != EEXIST)
{
return ERROR;
}
}
有没有更好的方法来修复代码?
【问题讨论】: