summaryrefslogtreecommitdiffstats
path: root/src/util.cc
diff options
context:
space:
mode:
authorEvan Martin <martine@danga.com>2012-02-04 22:14:04 (GMT)
committerEvan Martin <martine@danga.com>2012-02-04 22:14:04 (GMT)
commite9087f5cdf2c8485b5b0a6858782bb02dbffbcdd (patch)
treee912ce9b60f0400d33825cdde127848db95813de /src/util.cc
parent06315b1e2e2db9ba5dbb1d4ecf91344846c0de3a (diff)
downloadNinja-e9087f5cdf2c8485b5b0a6858782bb02dbffbcdd.zip
Ninja-e9087f5cdf2c8485b5b0a6858782bb02dbffbcdd.tar.gz
Ninja-e9087f5cdf2c8485b5b0a6858782bb02dbffbcdd.tar.bz2
don't crash when CanonicalizePath removes all path components
From a patch from Peter Kuemmel <syntheticpp@gmx.net>.
Diffstat (limited to 'src/util.cc')
-rw-r--r--src/util.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/util.cc b/src/util.cc
index 1dd9838..02be994 100644
--- a/src/util.cc
+++ b/src/util.cc
@@ -148,6 +148,11 @@ bool CanonicalizePath(char* path, int* len, string* err) {
src = sep + 1;
}
+ if (dst == start) {
+ *err = "path canonicalizes to the empty path";
+ return false;
+ }
+
*len = dst - start - 1;
return true;
}