diff --git a/projects/pyyaml/fuzz_loader.py b/projects/pyyaml/fuzz_loader.py index 4077eea71..20dd17643 100644 --- a/projects/pyyaml/fuzz_loader.py +++ b/projects/pyyaml/fuzz_loader.py @@ -27,9 +27,21 @@ def TestOneInput(input_bytes): try: context = yaml.load(input_bytes, Loader=yaml.FullLoader) except yaml.YAMLError: - pass + return except RecursionError: - pass + return + # Anything that is loadable should be emitable. + try: + listed_context = list(context) + except: + return + + try: + yaml.emit(listed_context) + except yaml.emitter.EmitterError: + return + except RecursionError: + return def main(): atheris.Setup(sys.argv, TestOneInput, enable_python_coverage=True)