diff options
author | Mathias Stearn <mathias@10gen.com> | 2013-11-20 16:28:32 -0500 |
---|---|---|
committer | Mathias Stearn <mathias@10gen.com> | 2013-11-22 14:50:03 -0500 |
commit | 7669448d1a41e0e9ef6237926c0173949b5d9868 (patch) | |
tree | a864f84f3a8779538ecb2f7d19c2070bc4ecaaa6 /src/mongo/scripting/engine_v8.cpp | |
parent | a68075e50322910b018815ade7f7c77887cc488b (diff) | |
download | mongo-7669448d1a41e0e9ef6237926c0173949b5d9868.tar.gz |
SERVER-11781 Don't crash when converting deeply nested or cyclical JS objects to BSON
Diffstat (limited to 'src/mongo/scripting/engine_v8.cpp')
-rw-r--r-- | src/mongo/scripting/engine_v8.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mongo/scripting/engine_v8.cpp b/src/mongo/scripting/engine_v8.cpp index b51b28a38ff..6eba9ce13b6 100644 --- a/src/mongo/scripting/engine_v8.cpp +++ b/src/mongo/scripting/engine_v8.cpp @@ -1565,6 +1565,10 @@ namespace mongo { void V8Scope::v8ToMongoElement(BSONObjBuilder & b, const StringData& sname, v8::Handle<v8::Value> value, int depth, BSONObj* originalParent) { + uassert(17279, + str::stream() << "Exceeded depth limit of " << objectDepthLimit + << " when converting js object to BSON. Do you have a cycle?", + depth < objectDepthLimit); // Null char should be at the end, not in the string uassert(16985, |