From 7a6671e01666c711e8114c040b3f1d56c795857f Mon Sep 17 00:00:00 2001 From: DavidKorczynski Date: Mon, 5 Sep 2022 14:37:16 +0100 Subject: [PATCH] pyyaml: extend to fuzz emitter (#8414) --- projects/pyyaml/fuzz_loader.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) 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)