From 5a96142cf844939c560b554be914aa4fd40822a0 Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Wed, 3 Aug 2022 21:06:51 +0200 Subject: [PATCH] guard monitor settings --- src/config/ConfigManager.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/config/ConfigManager.cpp b/src/config/ConfigManager.cpp index a383227f..8e004790 100644 --- a/src/config/ConfigManager.cpp +++ b/src/config/ConfigManager.cpp @@ -449,17 +449,27 @@ void CConfigManager::handleMonitor(const std::string& command, const std::string if (curitem.contains("@")) newrule.refreshRate = stof(curitem.substr(curitem.find_first_of('@') + 1)); - } + } nextItem(); newrule.offset.x = stoi(curitem.substr(0, curitem.find_first_of('x'))); newrule.offset.y = stoi(curitem.substr(curitem.find_first_of('x') + 1)); + if (newrule.offset.x < 0 || newrule.offset.y < 0) { + parseError = "invalid offset. Offset cannot be negative."; + newrule.offset = Vector2D(); + } + nextItem(); newrule.scale = stof(curitem); + if (newrule.scale < 0.25f) { + parseError = "not a valid scale."; + newrule.scale = 1; + } + nextItem(); if (curitem != "") {