Raise DEFAULT_RECURSE_LIMIT from 511 to 1024 (#676)

This commit is contained in:
Copilot 2026-05-22 16:08:23 +09:00 committed by GitHub
parent cd8137093a
commit 4b2749cdff
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 26 additions and 2 deletions

View file

@ -153,6 +153,30 @@ def test_auto_max_array_len():
unpacker.unpack()
def test_nest_limit_1024():
import sys
# Build a list nested 1024 levels deep
d = None
for _ in range(1024):
d = [d]
# Temporarily raise Python's recursion limit so packing 1024 levels succeeds
old_limit = sys.getrecursionlimit()
sys.setrecursionlimit(max(old_limit, 10000))
try:
packed = packb(d)
result = unpackb(packed)
finally:
sys.setrecursionlimit(old_limit)
# Verify structure iteratively to avoid hitting C-level recursion limit in ==
for _ in range(1024):
assert isinstance(result, list) and len(result) == 1
result = result[0]
assert result is None
def test_auto_max_map_len():
# len(packed) == 6 -> max_map_len == 3
packed = b"\xde\x00\x04zzz"