diff options
author | Milena Ivanova <milena.ivanova@mongodb.com> | 2021-10-14 08:30:52 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2021-10-14 08:56:31 +0000 |
commit | 35e3fcd54f2c591e5ec33fcde036e40d27d64134 (patch) | |
tree | c45b02c29b585ce94cacc354b0a7f4d16c05dfc1 /src/mongo/db/pipeline | |
parent | b14ba0824e190a86d66a25be8338a00d18563c95 (diff) | |
download | mongo-35e3fcd54f2c591e5ec33fcde036e40d27d64134.tar.gz |
SERVER-60450 Add error check for $dateSubtract when negating amount
value
Diffstat (limited to 'src/mongo/db/pipeline')
-rw-r--r-- | src/mongo/db/pipeline/expression.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mongo/db/pipeline/expression.cpp b/src/mongo/db/pipeline/expression.cpp index e806e7f882c..2bfd937b9ac 100644 --- a/src/mongo/db/pipeline/expression.cpp +++ b/src/mongo/db/pipeline/expression.cpp @@ -7224,6 +7224,10 @@ Value ExpressionDateSubtract::evaluateDateArithmetics(Date_t date, TimeUnit unit, long long amount, const TimeZone& timezone) const { + // Long long min value cannot be negated. + uassert(6045000, + str::stream() << "invalid $dateSubtract 'amount' parameter value: " << amount, + amount != std::numeric_limits<long long>::min()); return Value(dateAdd(date, unit, -amount, timezone)); } |