summaryrefslogtreecommitdiff
path: root/src/mongo
diff options
context:
space:
mode:
authorDavid Storch <david.storch@10gen.com>2017-10-11 13:49:55 -0400
committerDavid Storch <david.storch@10gen.com>2017-10-26 15:27:51 -0400
commit34cdaa485cd98bfb3b1916d8a3d8815f91a17359 (patch)
treeeea7cebc1786ef969706fe99f2db575d7784255d /src/mongo
parent0bce9f5e3d8464266e644c0c2cb90bd5481a0ae8 (diff)
downloadmongo-34cdaa485cd98bfb3b1916d8a3d8815f91a17359.tar.gz
SERVER-31516 Fix improper initialization of empty NamespaceString.
(cherry picked from commit e7390933e152d8e6f00c90ac341f691780c261fd)
Diffstat (limited to 'src/mongo')
-rw-r--r--src/mongo/db/namespace_string-inl.h2
-rw-r--r--src/mongo/db/namespace_string_test.cpp12
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{});
+}
}