diff options
author | Billy Donahue <billy.donahue@mongodb.com> | 2020-10-03 03:56:19 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-12-19 03:00:23 +0000 |
commit | 7c8e5d2492949658297e4def62c0428823585cd1 (patch) | |
tree | 980143288effce2c191eaaacd3dc200f0e5e95bb | |
parent | 785ab5ad7f1146853a805c2cbb3df7f892b21f28 (diff) | |
download | mongo-7c8e5d2492949658297e4def62c0428823585cd1.tar.gz |
SERVER-51337 fix use-after-move in NetworkInterfaceMock
(cherry picked from commit 5a155f06bffb6141a40497fdef1dd61a2aaf2962)
-rw-r--r-- | src/mongo/executor/network_interface_mock.cpp | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/src/mongo/executor/network_interface_mock.cpp b/src/mongo/executor/network_interface_mock.cpp index ab1fcceb126..17c4c8e09e4 100644 --- a/src/mongo/executor/network_interface_mock.cpp +++ b/src/mongo/executor/network_interface_mock.cpp @@ -473,17 +473,14 @@ void NetworkInterfaceMock::_enqueueOperation_inlock( if (timeout != RemoteCommandRequest::kNoTimeout) { invariant(timeout >= Milliseconds(0)); - ResponseStatus rs( - ErrorCodes::NetworkInterfaceExceededTimeLimit, "Network timeout", Milliseconds(0)); - std::vector<NetworkOperationList*> queuesToCheck{&_unscheduled, &_blackHoled, &_scheduled}; - _alarms.emplace(cbh, - _now_inlock() + timeout, - [this, - cbh = std::move(cbh), - queuesToCheck = std::move(queuesToCheck), - rs = std::move(rs)](Status) { - _interruptWithResponse_inlock(cbh, queuesToCheck, rs); - }); + _alarms.emplace(cbh, _now_inlock() + timeout, [this, cbh](Status) { + _interruptWithResponse_inlock( + cbh, + {&_unscheduled, &_blackHoled, &_scheduled}, + ResponseStatus(ErrorCodes::NetworkInterfaceExceededTimeLimit, + "Network timeout", + Milliseconds(0))); + }); } } |