diff options
author | matt dannenberg <matt.dannenberg@10gen.com> | 2014-06-02 08:34:36 -0400 |
---|---|---|
committer | matt dannenberg <matt.dannenberg@10gen.com> | 2014-06-03 06:18:40 -0400 |
commit | af057b64bad3fff652b98137e66dd138833d46c0 (patch) | |
tree | 57cbba7127dbaed0030db54951e80d544a96ccc3 /src/mongo/db/repl | |
parent | 7f74dfc223f6aafac1c01ae12da8db52bbf25a59 (diff) | |
download | mongo-af057b64bad3fff652b98137e66dd138833d46c0.tar.gz |
SERVER-13055 disallow w:0 as getLastErrorDefaults value
Diffstat (limited to 'src/mongo/db/repl')
-rw-r--r-- | src/mongo/db/repl/rs_config.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
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<MemberCfg>::const_iterator i = members.begin(); i != members.end(); ++i ) { |