From 8c1074eb7c2968f7b5c379a87def7ab5d8e57880 Mon Sep 17 00:00:00 2001 From: Ahmed El-Sharnoby Date: Mon, 16 Oct 2023 04:07:29 +0300 Subject: [PATCH] reserve the String Length in urlDecode to avoid String Reallocations --- libraries/ESP8266WebServer/src/Parsing-impl.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/ESP8266WebServer/src/Parsing-impl.h b/libraries/ESP8266WebServer/src/Parsing-impl.h index 8f85b7ad50..1a6a54f164 100644 --- a/libraries/ESP8266WebServer/src/Parsing-impl.h +++ b/libraries/ESP8266WebServer/src/Parsing-impl.h @@ -520,7 +520,7 @@ String ESP8266WebServerTemplate::urlDecode(const String& text) char temp[] = "0x00"; unsigned int len = text.length(); unsigned int i = 0; - decoded.reserve(len); + decoded.reserve(len - (std::count(text.begin(), text.end(), '%') * 2 )); while (i < len) { char decodedChar;