From b00017e0ad1e27e79d79e476ee82d6bc3204bc6b Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Wed, 24 Oct 2018 16:40:07 +0300 Subject: [PATCH] FileName: Add a soft assertion against invalid parent in parentDir In case isRoot() returns false, but cleanPath fails to find the parent directory, return an empty string. For example: QDir::cleanPath("D:/..") returns "D:/.." on Windows. I'm not aware of any concrete case when this can happen, but let's be cautious. Change-Id: I0f4af5f5c11bb768d99d90290a4a1a6a1bda7c27 Reviewed-by: Oswald Buddenhagen Reviewed-by: Eike Ziller --- src/libs/utils/fileutils.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libs/utils/fileutils.cpp b/src/libs/utils/fileutils.cpp index 48d87871002..0110857790c 100644 --- a/src/libs/utils/fileutils.cpp +++ b/src/libs/utils/fileutils.cpp @@ -631,6 +631,7 @@ FileName FileName::parentDir() const const QString path = basePath + QLatin1String("/.."); const QString parent = QDir::cleanPath(path); + QTC_ASSERT(parent != path, return FileName()); return FileName::fromString(parent); }