From: Benel Tayar <86257734+beneltayar@users.noreply.github.com> Date: Fri, 7 Nov 2025 10:47:25 +0000 (+0200) Subject: gh-141141: Make base64.b85decode() thread safe (GH-141149) X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a7bf27f7f521384a8964718bdb58a5cb113bb3ec;p=thirdparty%2FPython%2Fcpython.git gh-141141: Make base64.b85decode() thread safe (GH-141149) --- diff --git a/Lib/base64.py b/Lib/base64.py index 5d78cc09f40c..cfc57626c40b 100644 --- a/Lib/base64.py +++ b/Lib/base64.py @@ -462,9 +462,12 @@ def b85decode(b): # Delay the initialization of tables to not waste memory # if the function is never called if _b85dec is None: - _b85dec = [None] * 256 + # we don't assign to _b85dec directly to avoid issues when + # multiple threads call this function simultaneously + b85dec_tmp = [None] * 256 for i, c in enumerate(_b85alphabet): - _b85dec[c] = i + b85dec_tmp[c] = i + _b85dec = b85dec_tmp b = _bytes_from_decode_data(b) padding = (-len(b)) % 5 diff --git a/Misc/NEWS.d/next/Library/2025-11-06-15-11-50.gh-issue-141141.tgIfgH.rst b/Misc/NEWS.d/next/Library/2025-11-06-15-11-50.gh-issue-141141.tgIfgH.rst new file mode 100644 index 000000000000..f59ccfb33e76 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2025-11-06-15-11-50.gh-issue-141141.tgIfgH.rst @@ -0,0 +1 @@ +Fix a thread safety issue with :func:`base64.b85decode`. Contributed by Benel Tayar.