diff options
Diffstat (limited to 'src/mongo/db/ops/modifier_rename.cpp')
-rw-r--r-- | src/mongo/db/ops/modifier_rename.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mongo/db/ops/modifier_rename.cpp b/src/mongo/db/ops/modifier_rename.cpp index 3942d11cea7..79ecce73095 100644 --- a/src/mongo/db/ops/modifier_rename.cpp +++ b/src/mongo/db/ops/modifier_rename.cpp @@ -84,6 +84,12 @@ namespace mongo { << modExpr); } + StringData valueStringData(modExpr.valuestr(), modExpr.valuestrsize() - 1); + if (valueStringData.find('\0') != std::string::npos) { + return Status(ErrorCodes::BadValue, + "The 'to' field for $rename cannot contain an embedded null byte"); + } + // Extract the field names from the mod expression _fromFieldRef.parse(modExpr.fieldName()); |