summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mongo/db/cloner.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mongo/db/cloner.cpp b/src/mongo/db/cloner.cpp
index 10f911427d1..b7c029452e7 100644
--- a/src/mongo/db/cloner.cpp
+++ b/src/mongo/db/cloner.cpp
@@ -412,6 +412,16 @@ namespace mongo {
LOG(2) << "\t cloner got " << collection << endl;
+ BSONElement collectionOptions = collection["options"];
+ if ( collectionOptions.isABSONObj() ) {
+ Status parseOptionsStatus = CollectionOptions().parse(collectionOptions.Obj());
+ if ( !parseOptionsStatus.isOK() ) {
+ errmsg = str::stream() << "invalid collection options: " << collection
+ << ", reason: " << parseOptionsStatus.reason();
+ return false;
+ }
+ }
+
BSONElement e = collection.getField("name");
if ( e.eoo() ) {
string s = "bad system.namespaces object " + collection.toString();