diff options
author | Scott Hernandez <scotthernandez@gmail.com> | 2013-07-24 16:03:07 -0400 |
---|---|---|
committer | Scott Hernandez <scotthernandez@gmail.com> | 2013-07-24 16:03:13 -0400 |
commit | 3ef5807b169f033b1e2d4db1a0d8e2f46a7c1d13 (patch) | |
tree | 4e6f773d2ca0eb170f853c4cac887b2cd0b3deb5 /src/mongo/scripting/engine_v8.cpp | |
parent | b46e9909da93aeef4ba49c9923f023e6a4887d0e (diff) | |
download | mongo-3ef5807b169f033b1e2d4db1a0d8e2f46a7c1d13.tar.gz |
SERVER-10313: uassert if null char in js field names
Diffstat (limited to 'src/mongo/scripting/engine_v8.cpp')
-rw-r--r-- | src/mongo/scripting/engine_v8.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mongo/scripting/engine_v8.cpp b/src/mongo/scripting/engine_v8.cpp index 527c9b0fd5c..36d246f307c 100644 --- a/src/mongo/scripting/engine_v8.cpp +++ b/src/mongo/scripting/engine_v8.cpp @@ -1575,6 +1575,14 @@ namespace mongo { void V8Scope::v8ToMongoElement(BSONObjBuilder & b, const StringData& sname, v8::Handle<v8::Value> value, int depth, BSONObj* originalParent) { + + // Null char should be at the end, not in the string + uassert(16981, + str::stream() << "JavaScript property (name) contains a null char " + << "which is not allowed in BSON. " + << originalParent->jsonString(), + (string::npos == sname.find('\0')) ); + if (value->IsString()) { b.append(sname, V8String(value)); return; |