From 1ebb99d373835ce4ffeb00be0aca66bad4cce876 Mon Sep 17 00:00:00 2001 From: KotlinIsland Date: Thu, 9 Feb 2023 15:59:49 +1000 Subject: [PATCH] blackd: fix issue for mishandling single character input --- src/blackd/__init__.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/blackd/__init__.py b/src/blackd/__init__.py index ba4750b8298..24abef54b3a 100644 --- a/src/blackd/__init__.py +++ b/src/blackd/__init__.py @@ -146,11 +146,13 @@ async def handle(request: web.Request, executor: Executor) -> web.Response: ) # Preserve CRLF line endings - if req_str[req_str.find("\n") - 1] == "\r": + nl = req_str.find("\n") + if nl > 0 and req_str[nl - 1] == "\r": formatted_str = formatted_str.replace("\n", "\r\n") # If, after swapping line endings, nothing changed, then say so if formatted_str == req_str: raise black.NothingChanged + del nl # Put the source first line back req_str = header + req_str