Fix unquote IndexError on empty string input

`unquote('')` raises `IndexError` because it accesses `value[0]`
without checking the string length first. This can occur when parsing
digest auth WWW-Authenticate headers containing parameters with empty
unquoted values (e.g. `realm=` instead of `realm=""`).
This commit is contained in:
Kadir Can Ozden 2026-02-20 03:36:40 +03:00
parent ae1b9f6623
commit 55ead904ef

View File

@ -89,7 +89,9 @@ def to_bytes_or_str(value: str, match_type_of: typing.AnyStr) -> typing.AnyStr:
def unquote(value: str) -> str:
return value[1:-1] if value[0] == value[-1] == '"' else value
if len(value) >= 2 and value[0] == value[-1] == '"':
return value[1:-1]
return value
def peek_filelike_length(stream: typing.Any) -> int | None: