diff options
author | David Storch <david.storch@10gen.com> | 2017-10-11 13:49:55 -0400 |
---|---|---|
committer | David Storch <david.storch@10gen.com> | 2017-10-26 15:27:51 -0400 |
commit | 34cdaa485cd98bfb3b1916d8a3d8815f91a17359 (patch) | |
tree | eea7cebc1786ef969706fe99f2db575d7784255d /src | |
parent | 0bce9f5e3d8464266e644c0c2cb90bd5481a0ae8 (diff) | |
download | mongo-34cdaa485cd98bfb3b1916d8a3d8815f91a17359.tar.gz |
SERVER-31516 Fix improper initialization of empty NamespaceString.
(cherry picked from commit e7390933e152d8e6f00c90ac341f691780c261fd)
Diffstat (limited to 'src')
-rw-r--r-- | src/mongo/db/namespace_string-inl.h | 2 | ||||
-rw-r--r-- | src/mongo/db/namespace_string_test.cpp | 12 |
2 files changed, 13 insertions, 1 deletions
diff --git a/src/mongo/db/namespace_string-inl.h b/src/mongo/db/namespace_string-inl.h index 0ff45fca39e..7ad830f2481 100644 --- a/src/mongo/db/namespace_string-inl.h +++ b/src/mongo/db/namespace_string-inl.h @@ -118,7 +118,7 @@ inline bool NamespaceString::validCollectionName(StringData coll) { return true; } -inline NamespaceString::NamespaceString() : _ns(), _dotIndex(0) {} +inline NamespaceString::NamespaceString() : _ns(), _dotIndex(std::string::npos) {} inline NamespaceString::NamespaceString(StringData nsIn) { _ns = nsIn.toString(); // copy to our buffer _dotIndex = _ns.find('.'); diff --git a/src/mongo/db/namespace_string_test.cpp b/src/mongo/db/namespace_string_test.cpp index 69884bd5ca9..69742c797bf 100644 --- a/src/mongo/db/namespace_string_test.cpp +++ b/src/mongo/db/namespace_string_test.cpp @@ -272,4 +272,16 @@ TEST(NamespaceStringTest, makeListIndexesNSIsCorrect) { ASSERT(ns.isListIndexesCursorNS()); ASSERT_EQUALS(NamespaceString("DB.COLL"), ns.getTargetNSForListIndexes()); } + +TEST(NamespaceStringTest, EmptyNSStringReturnsEmptyColl) { + NamespaceString nss{}; + ASSERT_TRUE(nss.toString().empty()); + ASSERT_EQ(nss.coll(), StringData{}); +} + +TEST(NamespaceStringTest, EmptyNSStringReturnsEmptyDb) { + NamespaceString nss{}; + ASSERT_TRUE(nss.toString().empty()); + ASSERT_EQ(nss.db(), StringData{}); +} } |