From da190f3f7b28a336be578dacfab40c4fe8135d04 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Thu, 1 Feb 2024 02:33:38 +0300 Subject: [PATCH] std::from_chars output handling --- src/coders/xml.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/coders/xml.cpp b/src/coders/xml.cpp index c93516ab..b88f01b0 100644 --- a/src/coders/xml.cpp +++ b/src/coders/xml.cpp @@ -26,7 +26,10 @@ int64_t Attribute::asInt() const { double Attribute::asFloat() const { double value; - std::from_chars(text.data(), text.data()+text.size(), value); + auto res = std::from_chars(text.data(), text.data()+text.size(), value); + if (res.ptr != text.data()+text.size()) { + throw std::runtime_error("invalid number format "+escape_string(text)); + } return value; }