From 69f1f2f0ebe9a799ff25c5ffd2fb48f63c7a6e7e Mon Sep 17 00:00:00 2001 From: vmobilis <75476228+vmobilis@users.noreply.github.com> Date: Fri, 11 Sep 2026 14:34:45 +0300 Subject: [PATCH 1/2] fix: handle invalid numbers --- examples/common/common.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/examples/common/common.cpp b/examples/common/common.cpp index 335a6226f..24a22ff3b 100644 --- a/examples/common/common.cpp +++ b/examples/common/common.cpp @@ -302,7 +302,11 @@ bool parse_options(int argc, const char** argv, const std::vector& o invalid_arg = true; return; } - *option.target = std::stoi(argv[i]); + try { + *option.target = std::stoi(argv[i]); + } catch (const std::invalid_argument&) { + invalid_arg = true; + } found_arg = true; })) break; @@ -312,7 +316,11 @@ bool parse_options(int argc, const char** argv, const std::vector& o invalid_arg = true; return; } - *option.target = std::stof(argv[i]); + try { + *option.target = std::stof(argv[i]); + } catch (const std::invalid_argument&) { + invalid_arg = true; + } found_arg = true; })) break; @@ -337,7 +345,8 @@ bool parse_options(int argc, const char** argv, const std::vector& o if (invalid_arg) { if (!valid) { - LOG_ERROR("error: invalid parameter for argument: %s", arg.c_str()); + LOG_ERROR("error: invalid parameter for argument \"%s\": \"%s\"", + arg.c_str(), (i >= argc) ? "" : argv[i]); } return false; } From d36dd83a79d7bdecb570295328be6570544fe581 Mon Sep 17 00:00:00 2001 From: vmobilis <75476228+vmobilis@users.noreply.github.com> Date: Fri, 11 Sep 2026 17:58:38 +0300 Subject: [PATCH 2/2] common.cpp: clang-format --- examples/common/common.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/common/common.cpp b/examples/common/common.cpp index 24a22ff3b..dee151bfc 100644 --- a/examples/common/common.cpp +++ b/examples/common/common.cpp @@ -307,7 +307,7 @@ bool parse_options(int argc, const char** argv, const std::vector& o } catch (const std::invalid_argument&) { invalid_arg = true; } - found_arg = true; + found_arg = true; })) break; @@ -321,7 +321,7 @@ bool parse_options(int argc, const char** argv, const std::vector& o } catch (const std::invalid_argument&) { invalid_arg = true; } - found_arg = true; + found_arg = true; })) break;