diff options
Diffstat (limited to 'src/mongo/db/matcher/expression_parser.cpp')
-rw-r--r-- | src/mongo/db/matcher/expression_parser.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/mongo/db/matcher/expression_parser.cpp b/src/mongo/db/matcher/expression_parser.cpp index 3901971ae64..f945115c370 100644 --- a/src/mongo/db/matcher/expression_parser.cpp +++ b/src/mongo/db/matcher/expression_parser.cpp @@ -1416,14 +1416,15 @@ StatusWith<std::unique_ptr<ExpressionWithPlaceholder>> parseExprWithPlaceholder( return result.getStatus(); } - if (result.getValue()->getPlaceholder() != expectedPlaceholder) { + auto placeholder = result.getValue()->getPlaceholder(); + if (placeholder && (*placeholder != expectedPlaceholder)) { return {ErrorCodes::FailedToParse, str::stream() << expressionName << " expected a name placeholder of " << expectedPlaceholder << ", but '" << exprWithPlaceholderElem.fieldName() << "' has a mismatching placeholder '" - << result.getValue()->getPlaceholder() + << *placeholder << "'"}; } return result; |