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:

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…