Fix possible fs::create_path recursion overflow

This commit is contained in:
Eladash 2021-10-20 22:15:54 +03:00 committed by Ivan
parent 8b4f3fa775
commit 9afa960979

View File

@ -683,9 +683,9 @@ bool fs::create_path(const std::string& path)
#ifdef _WIN32
// Workaround: don't call is_dir with naked drive letter
if (!parent.empty() && parent.back() != ':' && !is_dir(parent) && !create_path(parent))
if (parent.size() < path.size() && parent.back() != ':' && !is_dir(parent) && !create_path(parent))
#else
if (!parent.empty() && !is_dir(parent) && !create_path(parent))
if (parent.size() < path.size() && !is_dir(parent) && !create_path(parent))
#endif
{
return false;