don't crash if builddir is suffix of sourcedir (or vice-versa)
authorOswald Buddenhagen <oswald.buddenhagen@digia.com>
Wed, 3 Jul 2013 14:54:44 +0000 (16:54 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Mon, 26 Aug 2013 21:53:59 +0000 (23:53 +0200)
Change-Id: I97a6e2ebd51350cbf39c86efa5c26a376c49da95
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
(cherry picked from qtbase/b30273ec4a4ce65794fd402c6e3eb21de7bae1b9)

src/linguist/shared/qmakeglobals.cpp

index dbe6944..48c4dfc 100644 (file)
@@ -249,7 +249,8 @@ void QMakeGlobals::setDirectories(const QString &input_dir, const QString &outpu
         int srcLen = srcpath.length();
         int dstLen = dstpath.length();
         int lastSl = -1;
-        while (++lastSl, srcpath.at(--srcLen) == dstpath.at(--dstLen))
+        while (++lastSl, --srcLen, --dstLen,
+               srcLen && dstLen && srcpath.at(srcLen) == dstpath.at(dstLen))
             if (srcpath.at(srcLen) == QLatin1Char('/'))
                 lastSl = 0;
         source_root = srcpath.left(srcLen + lastSl);