From 4f6ab89d6f84278b44654a62068a683de3273b0c Mon Sep 17 00:00:00 2001 From: pennam Date: Wed, 20 May 2026 09:25:00 +0200 Subject: [PATCH] String::concat increase buffer size to fit float/double value --- api/String.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/api/String.cpp b/api/String.cpp index 4f176374..c86d3b3c 100644 --- a/api/String.cpp +++ b/api/String.cpp @@ -328,14 +328,16 @@ bool String::concat(unsigned long num) bool String::concat(float num) { - char buf[20]; + static size_t const FLOAT_BUF_SIZE = (FLT_MAX_10_EXP + 1) + 2 /* FIXED DECIMAL PLACES */ + 1 /* '-' */ + 1 /* '.' */ + 1 /* '\0' */; + char buf[FLOAT_BUF_SIZE]; char* string = dtostrf(num, 4, 2, buf); return concat(string); } bool String::concat(double num) { - char buf[20]; + static size_t const DOUBLE_BUF_SIZE = (DBL_MAX_10_EXP + 1) + 2 /* FIXED DECIMAL PLACES */ + 1 /* '-' */ + 1 /* '.' */ + 1 /* '\0' */; + char buf[DOUBLE_BUF_SIZE]; char* string = dtostrf(num, 4, 2, buf); return concat(string); }