Lar*_*itz 23 c++ boost boost-filesystem c++17 std-filesystem
std::filesystem
在C++ 17上,std::experimental::filesystem
对于许多前C++ 17编译器来说,基于boost::filesystem
并且几乎所有它都很明显地移植到较新的std.
但我认为不std::filesystem
相同boost::filesystem::unique_path()
.
我没有注意到std中的等价物吗?或者我是否应该采用一种推荐的方法来模仿实现?
boost::filesystem
当我的代码注意到它在支持的平台上进行编译时,我真的希望能够替换依赖std::filesystem
,并且unique_path()
是我转换中唯一不明显的部分.
Jos*_*son 21
unique_path
被删除,因为它是恶意软件的潜在攻击媒介.unique_path
在该位置调用和打开文件之间有一个机会窗口,在此期间某些其他进程可以创建相同的文件.根据用户对文件的处理方式,这可能会也可能不构成安全漏洞.POSIX函数存在类似的问题tmpnam
.
如本讨论中所述,此问题将在文件系统库的下一次迭代中处理.在此之前,您可以继续使用Boost.Filesystem,使用std::tmpnam
提供的功能<cstdio>
,或者使用更安全的特定于平台的替代方案mkstemp
.
归档时间: |
|
查看次数: |
3050 次 |
最近记录: |