INNER CODE UNIT · Python

TestOneInput

cisco-open/forge · fuzz/job_log_archiver_metadata_fuzzer.py:72

def TestOneInput(data: bytes) -> None:
    if len(data) > 8192:
        return

    try:
        text = data.decode('utf-8')
        payload = json.loads(text)
    except (json.JSONDecodeError, RecursionError, UnicodeDecodeError):
        return

    if _too_deep_or_large(payload):
        return

    detail = payload if isinstance(payload, dict) else {'payload': payload}
    fields = job_log_archiver._flatten_metadata_fields(detail)
    assert len(fields) <= job_log_archiver.MAX_METADATA_FIELDS
    assert all(isinstance(key, str) and key for key in fields)

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…