From 11009ba077c0e3deef3f229f39597b66e235bd02 Mon Sep 17 00:00:00 2001 From: Vaxry Date: Mon, 20 Nov 2023 18:52:06 +0000 Subject: [PATCH] screencopy: safer iteration of vector in destroyStream --- src/portals/Screencopy.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/portals/Screencopy.cpp b/src/portals/Screencopy.cpp index afd36cd..22ae46f 100644 --- a/src/portals/Screencopy.cpp +++ b/src/portals/Screencopy.cpp @@ -1009,7 +1009,13 @@ void CPipewireConnection::destroyStream(CScreencopyPortal::SSession* pSession) { return; if (!PSTREAM->buffers.empty()) { + std::vector bufs; + for (auto& b : PSTREAM->buffers) { + bufs.push_back(b.get()); + } + + for (auto& b : bufs) { pwStreamRemoveBuffer(PSTREAM, b->pwBuffer); } }