esp32_https_server icon indicating copy to clipboard operation
esp32_https_server copied to clipboard

Server-Hang when Headers '\r' is the last char in buffer

Open mdeichsel opened this issue 1 year ago • 1 comments

Describe the bug The readLine-Function in HTTPConnection.cpp leads to end endless-loop, when the newChar is the last char in the buffer. Then (_bufferProcessed+1 < _bufferUnusedIdx) is never true and the server loops.

How To Reproduce with luck I got it with chrome.

Expected Behavior Server hangs in loop without beeing responsive.

Actual Behavior Handle Headers over buffer-borders

ESP32 Module Please provide specifications of your module

  • RAM/PSRAM: ?
  • Flash Size: 4MB
  • Other special properties: ESP32-D0WDQ6 (revision 1) (ESP-DevKit)

Software (please complete the following information if applicable)

  • IDE and Version: PlatformIO 6.1.11
  • OS: Dev-Container https://github.com/prenone/platformio-vscode-devcontainer
  • Client used to access the server: Chrome 120.0.6099.199

Additional context I prepared a fix, try to submit a PR

mdeichsel avatar Jan 06 '24 16:01 mdeichsel

I created a branch but am not allowed to push it in this repo.

mdeichsel avatar Jan 06 '24 16:01 mdeichsel