From 95ac8a34b1809375030b4ec2780a2b7a35ae8162 Mon Sep 17 00:00:00 2001 From: thejch <66577496+thejch@users.noreply.github.com> Date: Tue, 19 Mar 2024 19:33:39 -0700 Subject: [PATCH] workspace: fix integer overflow in selector parser (#5177) --- src/desktop/Workspace.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/desktop/Workspace.cpp b/src/desktop/Workspace.cpp index 42d59dbb..5a5e2c06 100644 --- a/src/desktop/Workspace.cpp +++ b/src/desktop/Workspace.cpp @@ -218,7 +218,7 @@ bool CWorkspace::matchesStaticSelector(const std::string& selector_) { const auto NEXTSPACE = selector.find_first_of(' ', i); std::string prop = selector.substr(i, NEXTSPACE == std::string::npos ? std::string::npos : NEXTSPACE - i); - i = NEXTSPACE; + i = std::min(NEXTSPACE, std::string::npos - 1); if (cur == 'r') { int from = 0, to = 0; @@ -383,4 +383,4 @@ bool CWorkspace::matchesStaticSelector(const std::string& selector_) { UNREACHABLE(); return false; -} \ No newline at end of file +}