diff options
Diffstat (limited to 'src/mongo/scripting/engine_v8.cpp')
| -rw-r--r-- | src/mongo/scripting/engine_v8.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/mongo/scripting/engine_v8.cpp b/src/mongo/scripting/engine_v8.cpp index 7ffebec383e..5aa40b1abf0 100644 --- a/src/mongo/scripting/engine_v8.cpp +++ b/src/mongo/scripting/engine_v8.cpp @@ -919,7 +919,7 @@ namespace mongo { // script loaded from file ss << " at " << *resourceName; const int linenum = message->GetLineNumber(); - if (linenum != 1) ss << ":L" << linenum; + if (linenum != 1) ss << ":" << linenum; } return ss.str(); } @@ -1572,6 +1572,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(16985, + 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; |
