From 02f1f0569723611d591b8bdd72b12a084a4f39d0 Mon Sep 17 00:00:00 2001 From: Nathaniel Brough Date: Sun, 29 Jan 2023 09:38:05 -0800 Subject: [PATCH] feat(fuzz): Adds seed corpus for cdc and msc classes --- test/fuzz/device/cdc/cdc_seed_corpus.zip | Bin 0 -> 50127 bytes test/fuzz/device/msc/msc_seed_corpus.zip | Bin 0 -> 50127 bytes tools/pcapng_to_corpus.py | 46 +++++++++++++++++++++++ 3 files changed, 46 insertions(+) create mode 100644 test/fuzz/device/cdc/cdc_seed_corpus.zip create mode 100644 test/fuzz/device/msc/msc_seed_corpus.zip create mode 100755 tools/pcapng_to_corpus.py diff --git a/test/fuzz/device/cdc/cdc_seed_corpus.zip b/test/fuzz/device/cdc/cdc_seed_corpus.zip new file mode 100644 index 0000000000000000000000000000000000000000..81bc2240de2701fde0023c5c84ad33d69dadbf9f GIT binary patch literal 50127 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 TCZ_Ao|LO`W( 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 TCZ_Ao