INNER CODE UNIT · Python
_too_deep_or_large
cisco-open/forge · fuzz/job_log_archiver_metadata_fuzzer.py:34
def _too_deep_or_large(value: Any) -> bool:
stack = [(value, 0)]
nodes_seen = 0
while stack:
current, depth = stack.pop()
nodes_seen += 1
if depth > 32 or nodes_seen > 1000:
return True
if isinstance(current, dict):
stack.extend((child, depth + 1) for child in current.values())
elif isinstance(current, list):
stack.extend((child, depth + 1) for child in current)
return False
def _parseable_archiver_event(payload: Any) -> bool: