summaryrefslogtreecommitdiff
path: root/src
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-27 11:18:45 -0400
commit44c83a821606db1c8b34b9c2a1ee2c485d3fff39 (patch)
tree0a6b591e0e8ffe1c42a5de3e4c85c0acaad4fa67 /src
parentff8486ce5750a1a6d80e9105bbd205cf2648a900 (diff)
downloadmongo-44c83a821606db1c8b34b9c2a1ee2c485d3fff39.tar.gz
SERVER-31516 Fix improper initialization of empty NamespaceString.
(cherry picked from commit e7390933e152d8e6f00c90ac341f691780c261fd) Conflicts: src/mongo/db/namespace_string_test.cpp
Diffstat (limited to 'src')
-rw-r--r--src/mongo/db/namespace_string-inl.h2
-rw-r--r--src/mongo/db/namespace_string_test.cpp13
2 files changed, 14 insertions, 1 deletions
diff --git a/src/mongo/db/namespace_string-inl.h b/src/mongo/db/namespace_string-inl.h
index 8e8808fb9b8..7deeffc5bd4 100644
--- a/src/mongo/db/namespace_string-inl.h
+++ b/src/mongo/db/namespace_string-inl.h
@@ -112,7 +112,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 ba85cc775e3..2fd35bdd225 100644
--- a/src/mongo/db/namespace_string_test.cpp
+++ b/src/mongo/db/namespace_string_test.cpp
@@ -234,4 +234,17 @@ TEST(NamespaceStringTest, NamespaceStringParse4) {
ASSERT_EQUALS((string) "abc", ns.db());
ASSERT_EQUALS((string) "", ns.coll());
}
+
+
+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{});
+}
}