summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBilly Donahue <billy.donahue@mongodb.com>2020-10-03 03:56:19 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-12-19 03:00:23 +0000
commit7c8e5d2492949658297e4def62c0428823585cd1 (patch)
tree980143288effce2c191eaaacd3dc200f0e5e95bb
parent785ab5ad7f1146853a805c2cbb3df7f892b21f28 (diff)
downloadmongo-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.cpp19
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)));
+ });
}
}