summaryrefslogtreecommitdiff
path: root/src/desktop/Window.cpp
diff options
context:
space:
mode:
authorvaxerski <vaxry@vaxry.net>2024-05-24 20:40:15 +0200
committervaxerski <vaxry@vaxry.net>2024-05-24 20:40:15 +0200
commit52684b7d90de509c66f4f9a81c54a985123315b6 (patch)
treeda5d87b1e292266523e7069a303a98b856f5f9be /src/desktop/Window.cpp
parent4e42107d25dc47ee94da282db233f85f1e4c6bd0 (diff)
window: fix invalid env buffer size in getEnv
Diffstat (limited to 'src/desktop/Window.cpp')
-rw-r--r--src/desktop/Window.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/desktop/Window.cpp b/src/desktop/Window.cpp
index 7987c9d6..7a06aa61 100644
--- a/src/desktop/Window.cpp
+++ b/src/desktop/Window.cpp
@@ -1296,9 +1296,12 @@ std::unordered_map<std::string, std::string> CWindow::getEnv() {
needle += 512;
}
+ if (needle <= 1)
+ return {};
+
std::replace(buffer.begin(), buffer.end() - 1, '\0', '\n');
- CVarList envs(std::string{buffer.data(), needle - 1}, 0, '\n', true);
+ CVarList envs(std::string{buffer.data(), buffer.size() - 1}, 0, '\n', true);
for (auto& e : envs) {
if (!e.contains('='))