From d1300542bbf985b86ae336cb61d966e5b0a18407 Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 25 Jun 2021 08:55:09 +0200 Subject: [PATCH] Proparser: Don't crash on accidental remote files Change-Id: I62ca1b17436fce21d582816388db497d82df6582 Reviewed-by: Christian Stenger --- src/shared/proparser/ioutils.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/shared/proparser/ioutils.cpp b/src/shared/proparser/ioutils.cpp index 10d75817650..8b0aef01ed2 100644 --- a/src/shared/proparser/ioutils.cpp +++ b/src/shared/proparser/ioutils.cpp @@ -48,6 +48,18 @@ using namespace QMakeInternal; IoUtils::FileType IoUtils::fileType(const QString &fileName) { + // FIXME: + if (fileName.startsWith("docker:/")) { + if (!fileName.startsWith("docker://")) + qWarning("File name not canonical"); + int pos = fileName.indexOf('/', 10); + if (pos == 0) { + qWarning("File name not canonical"); + return FileNotFound; + } + return fileType(fileName.mid(pos)); + } + Q_ASSERT(fileName.isEmpty() || isAbsolutePath(fileName)); #ifdef Q_OS_WIN DWORD attr = GetFileAttributesW((WCHAR*)fileName.utf16());