diff --git a/CVE-2025-4516-DecodeError-handler.patch b/CVE-2025-4516-DecodeError-handler.patch index aed8b8e..90b9ac8 100644 --- a/CVE-2025-4516-DecodeError-handler.patch +++ b/CVE-2025-4516-DecodeError-handler.patch @@ -71,7 +71,7 @@ Index: Python-3.12.10/Include/cpython/unicodeobject.h Index: Python-3.12.10/Lib/test/test_codeccallbacks.py =================================================================== --- Python-3.12.10.orig/Lib/test/test_codeccallbacks.py 2025-05-27 17:27:04.334768069 +0200 -+++ Python-3.12.10/Lib/test/test_codeccallbacks.py 2025-05-27 17:29:17.508500659 +0200 ++++ Python-3.12.10/Lib/test/test_codeccallbacks.py 2025-05-27 20:45:06.747118127 +0200 @@ -1,6 +1,7 @@ import codecs import html.entities @@ -116,15 +116,15 @@ Index: Python-3.12.10/Lib/test/test_codeccallbacks.py + + # The warning message for invalid escape sequences dynamically escapes the backslash. + # Using re.escape to handle the backslash and then formatting the character directly. -+ check(br'\x0n\z', '\u0404\n\\z', r"invalid escape sequence '%s'" % re.escape(r'\z')) ++ check(br'\x0n\z', '\u0404\n\\z', r"invalid escape sequence '%s'" % r'\z') + check(br'\x0n\501', '\u0404\n\u0141', r"invalid octal escape sequence '\\501'") + -+ check(br'\x0z', '\u0404\\z', r"invalid escape sequence '%s'" % re.escape(r'\z')) -+ check(br'\x3n\zr', '\u0404\n\\zr', r"invalid escape sequence '%s'" % re.escape(r'\z')) -+ check(br'\x3zr', '\u0404\\zr', r"invalid escape sequence '%s'" % re.escape(r'\z')) -+ check(br'\x3z5', '\u0404\\z5', r"invalid escape sequence '%s'" % re.escape(r'\z')) -+ check(memoryview(br'\x3z5x')[:-1], '\u0404\\z5', r"invalid escape sequence '%s'" % re.escape(r'\z')) -+ check(memoryview(br'\x3z5xy')[:-2], '\u0404\\z5', r"invalid escape sequence '%s'" % re.escape(r'\z')) ++ check(br'\x0z', '\u0404\\z', r"invalid escape sequence '%s'" % r'\z') ++ check(br'\x3n\zr', '\u0404\n\\zr', r"invalid escape sequence '%s'" % r'\z') ++ check(br'\x3zr', '\u0404\\zr', r"invalid escape sequence '%s'" % r'\z') ++ check(br'\x3z5', '\u0404\\z5', r"invalid escape sequence '%s'" % r'\z') ++ check(memoryview(br'\x3z5x')[:-1], '\u0404\\z5', r"invalid escape sequence '%s'" % r'\z') ++ check(memoryview(br'\x3z5xy')[:-2], '\u0404\\z5', r"invalid escape sequence '%s'" % r'\z') + # issue32583 def test_crashing_decode_handler(self):