summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenrik Edin <henrik.edin@mongodb.com>2017-08-18 10:15:29 -0400
committerHenrik Edin <henrik.edin@mongodb.com>2017-08-31 13:16:50 -0400
commitf8eda1e61767a0adb362fde8d2447bc80cb9e58e (patch)
tree9c7fc65a6420877944f1df2919ddd135e19e7073
parent8ef456f89f63ab12941fe6b5352b20cff2522da3 (diff)
downloadmongo-f8eda1e61767a0adb362fde8d2447bc80cb9e58e.tar.gz
SERVER-27317 Fix closed socket when inserting Decimal128.
Move try statement so it catches exceptions thrown by QueryMessage constructor.
-rw-r--r--src/mongo/db/instance.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/mongo/db/instance.cpp b/src/mongo/db/instance.cpp
index c10d0a3174b..5bbf3339a37 100644
--- a/src/mongo/db/instance.cpp
+++ b/src/mongo/db/instance.cpp
@@ -206,14 +206,15 @@ void receivedCommand(OperationContext* txn,
const int32_t responseToMsgId = message.header().getId();
- DbMessage dbMessage(message);
- QueryMessage queryMessage(dbMessage);
-
CurOp* op = CurOp::get(txn);
-
rpc::LegacyReplyBuilder builder{};
try {
+ DbMessage dbMessage(message);
+
+ // Can throw, so make sure it's under the try statement.
+ QueryMessage queryMessage(dbMessage);
+
// This will throw if the request is on an invalid namespace.
rpc::LegacyRequest request{&message};
// Auth checking for Commands happens later.