From af057b64bad3fff652b98137e66dd138833d46c0 Mon Sep 17 00:00:00 2001 From: matt dannenberg Date: Mon, 2 Jun 2014 08:34:36 -0400 Subject: SERVER-13055 disallow w:0 as getLastErrorDefaults value --- src/mongo/db/repl/rs_config.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/mongo/db/repl') diff --git a/src/mongo/db/repl/rs_config.cpp b/src/mongo/db/repl/rs_config.cpp index 61f65964182..2a590a99ab0 100644 --- a/src/mongo/db/repl/rs_config.cpp +++ b/src/mongo/db/repl/rs_config.cpp @@ -362,6 +362,11 @@ namespace repl { uassert(13308, "replSet bad config version #", version > 0); uassert(13133, "replSet bad config no members", members.size() >= 1); uassert(13309, "replSet bad config maximum number of members is 12", members.size() <= 12); + if (!getLastErrorDefaults.isEmpty() && getLastErrorDefaults.hasField("w") + && getLastErrorDefaults["w"].isNumber()) { + uassert(17505, "replSet illegal config: getLastErrorDefaults w:0", + getLastErrorDefaults["w"].safeNumberLong() != 0); + } { unsigned voters = 0; for( vector::const_iterator i = members.begin(); i != members.end(); ++i ) { -- cgit v1.2.1