[3.14] gh-141141: Make base64.b85decode() thread safe (GH-141149) (GH-141184)

(cherry picked from commit a7bf27f7f5)

Co-authored-by: Benel Tayar <86257734+beneltayar@users.noreply.github.com>
This commit is contained in:
Miss Islington (bot) 2025-11-07 12:14:51 +01:00 committed by GitHub
parent cf48ead02b
commit cb8b2bad34
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 6 additions and 2 deletions

View file

@ -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

View file

@ -0,0 +1 @@
Fix a thread safety issue with :func:`base64.b85decode`. Contributed by Benel Tayar.