From cc60aaa83503ae611a7fe825abced22fe8bfa01d Mon Sep 17 00:00:00 2001 From: Kadir Can Ozden <101993364+bysiber@users.noreply.github.com> Date: Fri, 20 Feb 2026 17:17:03 +0300 Subject: [PATCH] Fix QuerystringParser._internal_write returning len(data) instead of length When max_size truncation occurs, write() passes a smaller length to _internal_write which only processes that many bytes. But _internal_write returns len(data) (the original untrunated size), inflating _current_size tracking and returning a misleading byte count to the caller. MultipartParser._internal_write correctly returns length. This makes QuerystringParser consistent. --- python_multipart/multipart.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python_multipart/multipart.py b/python_multipart/multipart.py index 1489b7a..9da99e3 100644 --- a/python_multipart/multipart.py +++ b/python_multipart/multipart.py @@ -936,7 +936,7 @@ def _internal_write(self, data: bytes, length: int) -> int: self.state = state self._found_sep = found_sep - return len(data) + return length def finalize(self) -> None: """Finalize this parser, which signals to that we are finished parsing,