From 245552cb7fb62d5868a8e3f90ec0a08e39db3855 Mon Sep 17 00:00:00 2001 From: Jeroen88 Date: Sun, 17 Nov 2019 14:31:17 +0100 Subject: [PATCH] Fix replacing of headers with overlapping names. Fixes issue #3483 --- libraries/HTTPClient/src/HTTPClient.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libraries/HTTPClient/src/HTTPClient.cpp b/libraries/HTTPClient/src/HTTPClient.cpp index f4b0ae54654..187cd6a64c4 100644 --- a/libraries/HTTPClient/src/HTTPClient.cpp +++ b/libraries/HTTPClient/src/HTTPClient.cpp @@ -910,7 +910,7 @@ void HTTPClient::addHeader(const String& name, const String& value, bool first, if (replace) { int headerStart = _headers.indexOf(headerLine); - if (headerStart != -1) { + if (headerStart != -1 && (headerStart == 0 || _headers[headerStart - 1] == '\n')) { int headerEnd = _headers.indexOf('\n', headerStart); _headers = _headers.substring(0, headerStart) + _headers.substring(headerEnd + 1); } @@ -924,7 +924,6 @@ void HTTPClient::addHeader(const String& name, const String& value, bool first, _headers += headerLine; } } - } void HTTPClient::collectHeaders(const char* headerKeys[], const size_t headerKeysCount)