From f87afbcb653a60cdb18860891919648b41c49603 Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Wed, 19 Jul 2017 17:55:48 +0200 Subject: [PATCH] Detect overflow using a long long for the computation result. Closes #1306 --- src/input_handler.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/input_handler.cc b/src/input_handler.cc index 63c69eed..7ad7aeed 100644 --- a/src/input_handler.cc +++ b/src/input_handler.cc @@ -235,8 +235,8 @@ public: } else if (cp and isdigit(*cp)) { - int new_val = m_params.count * 10 + *cp - '0'; - if (new_val < 0) + long long new_val = (long long)m_params.count * 10 + *cp - '0'; + if (new_val > std::numeric_limits::max()) context().print_status({ "parameter overflowed", get_face("Error") }); else m_params.count = new_val;