From c4dfff98440c857992ad0847b5132f2cbb2085ec Mon Sep 17 00:00:00 2001 From: Charles Kerr Date: Fri, 9 Aug 2024 13:38:03 -0500 Subject: [PATCH] fix: accidental handle copying in a range loop (#43260) fix: accidental handle copying Xref: https://github.com/electron/electron/pull/37857 --- shell/browser/api/message_port.cc | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/shell/browser/api/message_port.cc b/shell/browser/api/message_port.cc index ef313d4c307c..d30866c1ed3a 100644 --- a/shell/browser/api/message_port.cc +++ b/shell/browser/api/message_port.cc @@ -9,6 +9,7 @@ #include #include "base/containers/contains.h" +#include "base/containers/to_vector.h" #include "base/strings/string_number_conversions.h" #include "base/task/single_thread_task_runner.h" #include "gin/arguments.h" @@ -250,11 +251,7 @@ std::vector MessagePort::DisentanglePorts( } // Passed-in ports passed validity checks, so we can disentangle them. - std::vector channels; - channels.reserve(ports.size()); - for (auto port : ports) - channels.push_back(port->Disentangle()); - return channels; + return base::ToVector(ports, [](auto& port) { return port->Disentangle(); }); } void MessagePort::Pin() {