mirror of
https://github.com/python/cpython.git
synced 2025-11-24 20:30:18 +00:00
[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:
parent
cf48ead02b
commit
cb8b2bad34
2 changed files with 6 additions and 2 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
Fix a thread safety issue with :func:`base64.b85decode`. Contributed by Benel Tayar.
|
||||
Loading…
Add table
Add a link
Reference in a new issue