mirror of
https://github.com/gulrak/filesystem.git
synced 2025-12-06 08:46:41 +08:00
GNU `getcwd` can allocate a buffer if passed `NULL` for it. This is an
extension which is e.g., not recognized by clang-tidy-19's
`StdCLibraryFunctions` check[^1] which emits a diagnostic on a violated
precondition `buf != NULL`,
```
The 1st argument to 'getcwd' is NULL but should not be NULL [clang-analyzer-unix.StdCLibraryFunctions,-warnings-as-errors]
[build] 3987 | std::unique_ptr<char, decltype(&std::free)> buffer{::getcwd(NULL, 0), std::free};
```
This patch modifies this use of `getcwd` with this extension behavior to
instead use `get_current_dir_name` which is also a GNU extension, but
does not trigger this diagnostic.
[^1]: https://clang.llvm.org/docs/analyzer/checkers.html#unix-stdclibraryfunctions-c
|
||
|---|---|---|
| .. | ||
| filesystem.hpp | ||
| fs_fwd.hpp | ||
| fs_impl.hpp | ||
| fs_std_fwd.hpp | ||
| fs_std_impl.hpp | ||
| fs_std.hpp | ||