From d8d3b42a6665c218b8214c18cce161a16bab0a7c Mon Sep 17 00:00:00 2001 From: UltraQbik Date: Fri, 23 Aug 2024 15:56:44 +0300 Subject: Check received message length to prevent infinite loop in _recv_request method --- main.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'main.py') diff --git a/main.py b/main.py index 46740e9..18772f3 100644 --- a/main.py +++ b/main.py @@ -135,7 +135,10 @@ class HTTPServer: buffer = bytearray() while not self.stop_event.is_set(): - buffer += client.recv(self.buf_len) + msg = client.recv(self.buf_len) + if len(msg) == 0: + break + buffer += msg if buffer[-4:] == b'\r\n\r\n': return Request.create(buffer) return None -- cgit 1.4.1