Files
RecordFlux/tools/fuzz_driver.py
Corentin Machu 0add44d4f9 Update Python code to use new error messages
Ref. eng/recordflux/RecordFlux#1582
Ref. eng/recordflux/RecordFlux#1599
2024-07-03 12:45:41 +03:00

37 lines
842 B
Python
Executable File

#!/usr/bin/env python3
from cobrafuzz.main import CobraFuzz
@CobraFuzz
def fuzz(buf: bytes) -> None:
import sys
from rflx.model import Cache, Digest
from rflx.rapidflux import RecordFluxError
from rflx.specification import parser
class SilentlyNeverVerify(Cache):
def __init__(self) -> None:
pass
def is_verified(self, _: Digest) -> bool:
return True
def add_verified(self, _digest: Digest) -> None:
pass
try:
string = buf.decode("utf-8")
p = parser.Parser(cache=SilentlyNeverVerify())
p.parse_string(string)
p.create_model()
except (UnicodeDecodeError, RecordFluxError):
pass
except KeyboardInterrupt: # pragma: no cover
sys.exit()
if __name__ == "__main__":
fuzz() # pragma: no cover