From d577508727226d44a713f1af38b08769546edd2a Mon Sep 17 00:00:00 2001 From: Ivan Nardi <12729895+IvanNardi@users.noreply.github.com> Date: Wed, 24 Jan 2024 21:16:58 +0100 Subject: fuzz: extend fuzzing coverage (#2281) --- fuzz/Makefile.am | 29 +++++--- .../04d093aff831ee1f106282b79281614b8142d91f | Bin 1024 -> 0 bytes .../080eefec3d658696f6fdaf478e5ac1739c74e87b | Bin 1366 -> 0 bytes .../090a521b47c35bf722a930e4432aa2d730ee8332 | Bin 1032 -> 0 bytes .../0925b0ebe5718061127a9644b6b7d93980d14e3d | Bin 1024 -> 0 bytes .../0c4d7507f7afda93d5676b0756e4903fb3dacf60 | Bin 3073 -> 0 bytes .../0cde5ac31a755afdcdbb10c139831665a36dda75 | Bin 1026 -> 0 bytes .../0d001e9c537a1cf7da294ea889f4e2e9ce3c13e0 | Bin 2201 -> 0 bytes .../13ed262cfca6f60fe738ef6cdfa2b56e5dc2d8da | Bin 1024 -> 0 bytes .../14518d096ece2abb8a2dd7327514f24d6cd48b58 | Bin 1074 -> 0 bytes .../15eb3eb3d65eba1b2a8cb71c2148766114962ac7 | Bin 1873 -> 0 bytes .../1b33c6dae5a35eee9358136515bbe1ee207a3d49 | Bin 1024 -> 0 bytes .../1e7eb80c8e1d8f9b7314b470d92c6be020b97e68 | Bin 1027 -> 0 bytes .../206d5c79d04ccdb3b0d946abbc94d4b637039107 | Bin 1059 -> 0 bytes .../219cdafc24a0ebab673b49203f3cbbd6efde7000 | Bin 2095 -> 0 bytes .../21b1e04ce1c6eb7bdf43328e5c47b15fa44d6f4f | Bin 1024 -> 0 bytes .../24ccf941ae8c4b95303a148da73d2348619eab9a | Bin 1024 -> 0 bytes .../29afd7f67f6a46c398d71cd9e5ecce787d7f1176 | Bin 1027 -> 0 bytes .../2a286cbf9d32f6de497f91438b0f93c831893d06 | Bin 1024 -> 0 bytes .../2be813450d93a51bd5f047adb730c7929820f643 | Bin 1591 -> 0 bytes .../2c1289ca6c27b79cebb54dc39a55a3fe9fc6bbf9 | Bin 1028 -> 0 bytes .../2c48dce4e16ebb7bbeaa65a5cf0803baa3925a06 | Bin 1024 -> 0 bytes .../2c8502a8cc05c9877c0292567494678a54ee1e38 | Bin 1024 -> 0 bytes .../2cefff96a3039cdbef3c3a6ba41d0b2fe1a24dde | Bin 1024 -> 0 bytes .../2dbc0e121b164c9ef8cc50247c2fadc3aae9360c | Bin 1024 -> 0 bytes .../31416f580807982a721aa329e749589b643bde35 | Bin 2077 -> 0 bytes .../31accd2800389b82f8dc68979878c6556982bbb1 | Bin 1772 -> 0 bytes .../3676c7c3052ee8bf7202ab9cdd06f678d8c47266 | Bin 1024 -> 0 bytes .../36b3014210a0794308ae1181d4a8ad08e98f28fd | Bin 1026 -> 0 bytes .../3ace63222163540c03cd16910add24236483139d | Bin 1024 -> 0 bytes .../3cd758923493dc4269e956dcd2275cacb70b3d06 | Bin 2233 -> 0 bytes .../40225fbb10ed02053853ce61f3561a1c2eaadd8f | Bin 1355 -> 0 bytes .../414970dac4e5e56fce119eee76544cf64a14dfe9 | Bin 1098 -> 0 bytes .../41525d340f74f45d774491a3ff3cb09b5c40ae96 | Bin 2002 -> 0 bytes .../4257941232d8d6fd686dc09b71405dfd24aef634 | Bin 1759 -> 0 bytes .../442d5de73c8b73fd39975a5bd03c8d81c9397f2f | Bin 2098 -> 0 bytes .../47ed8baadac2f946a298d232123e4e84684e9564 | Bin 1024 -> 0 bytes .../49b434649dca7dfd496b4dcaa4367804c526abce | Bin 1027 -> 0 bytes .../4faa575adf7479a26e898cc388d43bfc56abc3ee | Bin 1085 -> 0 bytes .../50973022d553441dc116887c25f6dc84912ba703 | Bin 2110 -> 0 bytes .../521991a268c2e02c6f7be45c9526cfe88b2e3f7f | Bin 1024 -> 0 bytes .../530bdb11fe9270a52123f0faeed18c46b5f94fd9 | Bin 1024 -> 0 bytes .../54b73015a7a5041d00f84d67d51832d48c2b9907 | Bin 1024 -> 0 bytes .../599faaa27c2503b734bcd44fd3de9c9adb388bbb | Bin 2193 -> 0 bytes .../59a871d0625a68595b0e676966b003e5d9bb2cf3 | Bin 1024 -> 0 bytes .../5bbea5577dd3884eae9bb1e1979f2794d591f250 | Bin 1024 -> 0 bytes .../63fd84fdb4c93e5051b131e7283d1edbf2346d97 | Bin 1539 -> 0 bytes .../6420e92ebf6d3056821f7e7dd2e12d0d2dfb716f | Bin 1272 -> 0 bytes .../68765021cb1305cb14753ce1ffb2e6b0ca98f670 | Bin 1027 -> 0 bytes .../68aa130fbb2ffb67d937d0726e6335332039beb2 | Bin 1024 -> 0 bytes .../6a5d9322d42293dbbed245169604641ddcc6c736 | Bin 1024 -> 0 bytes .../6b9d2fb5531fdf9064209020a9f28487f94b7ad2 | Bin 1758 -> 0 bytes .../6eebb0b657faa02d74cbe782acb06014a09e1681 | Bin 1026 -> 0 bytes .../7218671551e49d714af5c9a0363debc41f69b07f | Bin 1024 -> 0 bytes .../74cc48645729d7afccc86b88ebdc525ec8e8639e | Bin 1024 -> 0 bytes .../75bfb98cd2a35dc1af93c58279ea057d45ea09e6 | Bin 1024 -> 0 bytes .../789b485a90d58fdb8817484cd8d0fb125d1ccbeb | Bin 1024 -> 0 bytes .../791eeff6a8158407fcf41885f5114b42576bdc5e | Bin 1710 -> 0 bytes .../800207865abd6b8e974f7d8ca1165f88fb706da7 | Bin 1061 -> 0 bytes .../80d1a9bbd11a273f303b92ca65e2eca5221274c7 | Bin 2180 -> 0 bytes .../82b0d13945b9d20c7b91ed26645f1e4b0b4e5a67 | Bin 2009 -> 0 bytes .../83a6b52b1116271058025d5d622cf1412dfa5701 | Bin 1058 -> 0 bytes .../83c0a0d3cf3f29cddddeb7c355138ae236bf5727 | Bin 1025 -> 0 bytes .../8b3d2f65163ff2351bf9a5bbf7dfbaeace054246 | Bin 1024 -> 0 bytes .../8b3fa51f3ea12e0ab1f2e4338f0bbdd167995c98 | Bin 1123 -> 0 bytes .../8dc1dd8e66922ff701c798bbe91d19b37f58495f | Bin 1024 -> 0 bytes .../8e77a1ae0ef5ee0974856f2a0318b46e98f0e4f9 | Bin 1024 -> 0 bytes .../8f2f7f037ede54b9812983536b8a973db7dfe5ec | Bin 1024 -> 0 bytes .../8f7756178046d60be6bf9eb02d2920c208aa7a7d | Bin 1040 -> 0 bytes .../921441816405adb82a95beb9e829eb2d07364e39 | Bin 1025 -> 0 bytes .../94cfe0c7f792ee42ff43e5559fe0375323b9b68a | Bin 1026 -> 0 bytes .../95107e7dc7612da1d0905556f401953c06b3507e | Bin 1024 -> 0 bytes .../9764794fc2c7bcb80ca3f42525e4d4e8e32a088f | Bin 1076 -> 0 bytes .../99a846729e1fa67dde649843fdf554d3d5c14d1e | Bin 2180 -> 0 bytes .../9ba1d8c0a69decdd9035db4c60a2aaf66daa9fc1 | Bin 1025 -> 0 bytes .../9c3e465891504c1549a8f2d82dc9416c6f029d00 | Bin 1024 -> 0 bytes .../9cb9002b518cf7158ddd8023b9559f629591cf56 | Bin 1038 -> 0 bytes .../9cc3c1a480c0872bc2f3e8e9539a46951436c1c3 | Bin 1043 -> 0 bytes .../9cd8475553e593641897c96d7abd7463f49c2682 | Bin 1024 -> 0 bytes .../9d598f7fa3cdf08e373f27caf61c012aae75ce4d | Bin 1024 -> 0 bytes .../9fa60713c5ae1f3726ae70fd4e8c230c27e10a7e | Bin 1024 -> 0 bytes .../a7302ca6b5de89a8840072d6bc28184881e7e5c7 | Bin 1024 -> 0 bytes .../a7780546d30ae4eb791b6cef858b87dcf915307b | Bin 3825 -> 0 bytes .../a91405def886e3eccd8ee813609ef32d0b02815b | Bin 1503 -> 0 bytes .../aa0a7045de571ac72c4bef04373965d3c062a802 | Bin 1024 -> 0 bytes .../acadff503aae63ba452f693f9b1af75beeb871c2 | Bin 1031 -> 0 bytes .../ad11755d5c38e9b4f78b89ea0115891f1e503512 | Bin 1104 -> 0 bytes .../ad56cf4fbb246dbfea16651702230fda3e0c9c83 | Bin 2163 -> 0 bytes .../ae2ee75e6177727ac0387e2c99ae3a761827d68e | Bin 1688 -> 0 bytes .../b042b35030eb170c6507e14dd6f00a6e1b670612 | Bin 1024 -> 0 bytes .../b41236f1031a78544a0cbed30399f5c63810c858 | Bin 1050 -> 0 bytes .../b688eaaf60534a0470b8a153c71dd52f6acde043 | Bin 1024 -> 0 bytes .../bafbbb41dfbb7cc1be135d34ad282d54d14fb308 | Bin 1203 -> 0 bytes .../bcd8153bc8760c12dccfc81e6fce1cee6dc2c1b4 | Bin 1024 -> 0 bytes .../bff088bb8cea1b5dd229632d70941de8c9415889 | Bin 1235 -> 0 bytes .../c4b1f93b79ffcc468bf487d36c12a53f2e20f5be | Bin 1025 -> 0 bytes .../c550a457be7c8589680c0d0eb3a36f3e48d96b17 | Bin 2178 -> 0 bytes .../c8d112d02108163b41a166b147a7a44922d7ab49 | Bin 1284 -> 0 bytes .../d0b0b56e3a3b9092ab75b212aa07777c48013050 | Bin 1024 -> 0 bytes .../d35119bcdc064dfd438dd5dc943a7d6e64b118bc | Bin 1024 -> 0 bytes .../d47ffc046a3a67b46138121d4b0752cb770380ae | Bin 2266 -> 0 bytes .../d5c613293379f84fd9d30da74953c74336b3efc7 | Bin 1024 -> 0 bytes .../d9ea126774547be83e8514cf14bfc46b90e04ae1 | Bin 1025 -> 0 bytes .../e0b35272e42e26f2396fb30f2601afebeec4760b | Bin 1024 -> 0 bytes .../e0f738b7cc91b246885c5055c7a16ab716053186 | Bin 1039 -> 0 bytes .../e1c65b55e6f0e0f9c878b4127205943903b311c0 | Bin 1267 -> 0 bytes .../e47cab0e163f9522bfd4bc1f3a4f4ef170fe96fd | Bin 2111 -> 0 bytes .../e77f0ad2aede947e4557ca77181c17cfe628e8f9 | Bin 1601 -> 0 bytes .../e9ae65ef89f69cde2b8e5b3e2ce14ac98b2c2289 | Bin 1024 -> 0 bytes .../ea7d1ce3b3df957829182925f48735fd70e28d1c | Bin 1027 -> 0 bytes .../ef6a236812a8235565a4c606ea2c5a9341e4aa41 | Bin 1024 -> 0 bytes .../f10e4c67ca64bdce1cd394fd829bf0b5aeed7071 | Bin 1033 -> 0 bytes .../f24cf8ce6cf0a9e00e9fcef913843d439792379c | Bin 1223 -> 0 bytes .../f415309e92385cbd8c7d1c6a9a7505e933cb2acf | Bin 1024 -> 0 bytes .../f4d7ba52332b71166ca952780db341c5645f04b3 | Bin 1024 -> 0 bytes .../f5f68d29ff553b4e63a3f0bb69e4c940bc46c291 | Bin 1024 -> 0 bytes .../f6fd7dd2bb4542f3d8d253768b6d63777d048afa | Bin 1040 -> 0 bytes .../f9cce96c161f401d73f04ef031404a885eb5da37 | Bin 1024 -> 0 bytes .../fad5cb6b51a97763038b58addeaa2bd725293ac8 | Bin 1040 -> 0 bytes .../fdd08d361bc7e016b6ad2e41d8b167bff2178777 | Bin 1024 -> 0 bytes .../ff72929db2b1fdacd24b1aed103bb307bbac7d7f | Bin 1263 -> 0 bytes .../ff82aaaf9375f24492e1bc709bf1518b827fc83d | Bin 1219 -> 0 bytes fuzz/corpus/fuzz_filecfg_category/comment.txt | 1 + fuzz/corpus/fuzz_filecfg_category/example.txt | 1 + fuzz/fuzz_common_code.c | 1 + fuzz/fuzz_config.cpp | 74 ++++++++++++++++++--- fuzz/fuzz_ds_ahocorasick.cpp | 6 +- fuzz/fuzz_ds_patricia.cpp | 64 +++++++++++++++--- fuzz/fuzz_filecfg_category.c | 27 ++++++++ fuzz/ipv4_addresses.txt | 1 + 130 files changed, 177 insertions(+), 27 deletions(-) delete mode 100644 fuzz/corpus/fuzz_ds_patricia/04d093aff831ee1f106282b79281614b8142d91f delete mode 100644 fuzz/corpus/fuzz_ds_patricia/080eefec3d658696f6fdaf478e5ac1739c74e87b delete mode 100644 fuzz/corpus/fuzz_ds_patricia/090a521b47c35bf722a930e4432aa2d730ee8332 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/0925b0ebe5718061127a9644b6b7d93980d14e3d delete mode 100644 fuzz/corpus/fuzz_ds_patricia/0c4d7507f7afda93d5676b0756e4903fb3dacf60 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/0cde5ac31a755afdcdbb10c139831665a36dda75 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/0d001e9c537a1cf7da294ea889f4e2e9ce3c13e0 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/13ed262cfca6f60fe738ef6cdfa2b56e5dc2d8da delete mode 100644 fuzz/corpus/fuzz_ds_patricia/14518d096ece2abb8a2dd7327514f24d6cd48b58 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/15eb3eb3d65eba1b2a8cb71c2148766114962ac7 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/1b33c6dae5a35eee9358136515bbe1ee207a3d49 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/1e7eb80c8e1d8f9b7314b470d92c6be020b97e68 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/206d5c79d04ccdb3b0d946abbc94d4b637039107 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/219cdafc24a0ebab673b49203f3cbbd6efde7000 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/21b1e04ce1c6eb7bdf43328e5c47b15fa44d6f4f delete mode 100644 fuzz/corpus/fuzz_ds_patricia/24ccf941ae8c4b95303a148da73d2348619eab9a delete mode 100644 fuzz/corpus/fuzz_ds_patricia/29afd7f67f6a46c398d71cd9e5ecce787d7f1176 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/2a286cbf9d32f6de497f91438b0f93c831893d06 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/2be813450d93a51bd5f047adb730c7929820f643 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/2c1289ca6c27b79cebb54dc39a55a3fe9fc6bbf9 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/2c48dce4e16ebb7bbeaa65a5cf0803baa3925a06 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/2c8502a8cc05c9877c0292567494678a54ee1e38 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/2cefff96a3039cdbef3c3a6ba41d0b2fe1a24dde delete mode 100644 fuzz/corpus/fuzz_ds_patricia/2dbc0e121b164c9ef8cc50247c2fadc3aae9360c delete mode 100644 fuzz/corpus/fuzz_ds_patricia/31416f580807982a721aa329e749589b643bde35 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/31accd2800389b82f8dc68979878c6556982bbb1 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/3676c7c3052ee8bf7202ab9cdd06f678d8c47266 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/36b3014210a0794308ae1181d4a8ad08e98f28fd delete mode 100644 fuzz/corpus/fuzz_ds_patricia/3ace63222163540c03cd16910add24236483139d delete mode 100644 fuzz/corpus/fuzz_ds_patricia/3cd758923493dc4269e956dcd2275cacb70b3d06 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/40225fbb10ed02053853ce61f3561a1c2eaadd8f delete mode 100644 fuzz/corpus/fuzz_ds_patricia/414970dac4e5e56fce119eee76544cf64a14dfe9 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/41525d340f74f45d774491a3ff3cb09b5c40ae96 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/4257941232d8d6fd686dc09b71405dfd24aef634 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/442d5de73c8b73fd39975a5bd03c8d81c9397f2f delete mode 100644 fuzz/corpus/fuzz_ds_patricia/47ed8baadac2f946a298d232123e4e84684e9564 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/49b434649dca7dfd496b4dcaa4367804c526abce delete mode 100644 fuzz/corpus/fuzz_ds_patricia/4faa575adf7479a26e898cc388d43bfc56abc3ee delete mode 100644 fuzz/corpus/fuzz_ds_patricia/50973022d553441dc116887c25f6dc84912ba703 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/521991a268c2e02c6f7be45c9526cfe88b2e3f7f delete mode 100644 fuzz/corpus/fuzz_ds_patricia/530bdb11fe9270a52123f0faeed18c46b5f94fd9 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/54b73015a7a5041d00f84d67d51832d48c2b9907 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/599faaa27c2503b734bcd44fd3de9c9adb388bbb delete mode 100644 fuzz/corpus/fuzz_ds_patricia/59a871d0625a68595b0e676966b003e5d9bb2cf3 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/5bbea5577dd3884eae9bb1e1979f2794d591f250 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/63fd84fdb4c93e5051b131e7283d1edbf2346d97 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/6420e92ebf6d3056821f7e7dd2e12d0d2dfb716f delete mode 100644 fuzz/corpus/fuzz_ds_patricia/68765021cb1305cb14753ce1ffb2e6b0ca98f670 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/68aa130fbb2ffb67d937d0726e6335332039beb2 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/6a5d9322d42293dbbed245169604641ddcc6c736 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/6b9d2fb5531fdf9064209020a9f28487f94b7ad2 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/6eebb0b657faa02d74cbe782acb06014a09e1681 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/7218671551e49d714af5c9a0363debc41f69b07f delete mode 100644 fuzz/corpus/fuzz_ds_patricia/74cc48645729d7afccc86b88ebdc525ec8e8639e delete mode 100644 fuzz/corpus/fuzz_ds_patricia/75bfb98cd2a35dc1af93c58279ea057d45ea09e6 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/789b485a90d58fdb8817484cd8d0fb125d1ccbeb delete mode 100644 fuzz/corpus/fuzz_ds_patricia/791eeff6a8158407fcf41885f5114b42576bdc5e delete mode 100644 fuzz/corpus/fuzz_ds_patricia/800207865abd6b8e974f7d8ca1165f88fb706da7 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/80d1a9bbd11a273f303b92ca65e2eca5221274c7 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/82b0d13945b9d20c7b91ed26645f1e4b0b4e5a67 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/83a6b52b1116271058025d5d622cf1412dfa5701 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/83c0a0d3cf3f29cddddeb7c355138ae236bf5727 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/8b3d2f65163ff2351bf9a5bbf7dfbaeace054246 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/8b3fa51f3ea12e0ab1f2e4338f0bbdd167995c98 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/8dc1dd8e66922ff701c798bbe91d19b37f58495f delete mode 100644 fuzz/corpus/fuzz_ds_patricia/8e77a1ae0ef5ee0974856f2a0318b46e98f0e4f9 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/8f2f7f037ede54b9812983536b8a973db7dfe5ec delete mode 100644 fuzz/corpus/fuzz_ds_patricia/8f7756178046d60be6bf9eb02d2920c208aa7a7d delete mode 100644 fuzz/corpus/fuzz_ds_patricia/921441816405adb82a95beb9e829eb2d07364e39 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/94cfe0c7f792ee42ff43e5559fe0375323b9b68a delete mode 100644 fuzz/corpus/fuzz_ds_patricia/95107e7dc7612da1d0905556f401953c06b3507e delete mode 100644 fuzz/corpus/fuzz_ds_patricia/9764794fc2c7bcb80ca3f42525e4d4e8e32a088f delete mode 100644 fuzz/corpus/fuzz_ds_patricia/99a846729e1fa67dde649843fdf554d3d5c14d1e delete mode 100644 fuzz/corpus/fuzz_ds_patricia/9ba1d8c0a69decdd9035db4c60a2aaf66daa9fc1 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/9c3e465891504c1549a8f2d82dc9416c6f029d00 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/9cb9002b518cf7158ddd8023b9559f629591cf56 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/9cc3c1a480c0872bc2f3e8e9539a46951436c1c3 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/9cd8475553e593641897c96d7abd7463f49c2682 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/9d598f7fa3cdf08e373f27caf61c012aae75ce4d delete mode 100644 fuzz/corpus/fuzz_ds_patricia/9fa60713c5ae1f3726ae70fd4e8c230c27e10a7e delete mode 100644 fuzz/corpus/fuzz_ds_patricia/a7302ca6b5de89a8840072d6bc28184881e7e5c7 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/a7780546d30ae4eb791b6cef858b87dcf915307b delete mode 100644 fuzz/corpus/fuzz_ds_patricia/a91405def886e3eccd8ee813609ef32d0b02815b delete mode 100644 fuzz/corpus/fuzz_ds_patricia/aa0a7045de571ac72c4bef04373965d3c062a802 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/acadff503aae63ba452f693f9b1af75beeb871c2 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/ad11755d5c38e9b4f78b89ea0115891f1e503512 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/ad56cf4fbb246dbfea16651702230fda3e0c9c83 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/ae2ee75e6177727ac0387e2c99ae3a761827d68e delete mode 100644 fuzz/corpus/fuzz_ds_patricia/b042b35030eb170c6507e14dd6f00a6e1b670612 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/b41236f1031a78544a0cbed30399f5c63810c858 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/b688eaaf60534a0470b8a153c71dd52f6acde043 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/bafbbb41dfbb7cc1be135d34ad282d54d14fb308 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/bcd8153bc8760c12dccfc81e6fce1cee6dc2c1b4 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/bff088bb8cea1b5dd229632d70941de8c9415889 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/c4b1f93b79ffcc468bf487d36c12a53f2e20f5be delete mode 100644 fuzz/corpus/fuzz_ds_patricia/c550a457be7c8589680c0d0eb3a36f3e48d96b17 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/c8d112d02108163b41a166b147a7a44922d7ab49 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/d0b0b56e3a3b9092ab75b212aa07777c48013050 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/d35119bcdc064dfd438dd5dc943a7d6e64b118bc delete mode 100644 fuzz/corpus/fuzz_ds_patricia/d47ffc046a3a67b46138121d4b0752cb770380ae delete mode 100644 fuzz/corpus/fuzz_ds_patricia/d5c613293379f84fd9d30da74953c74336b3efc7 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/d9ea126774547be83e8514cf14bfc46b90e04ae1 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/e0b35272e42e26f2396fb30f2601afebeec4760b delete mode 100644 fuzz/corpus/fuzz_ds_patricia/e0f738b7cc91b246885c5055c7a16ab716053186 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/e1c65b55e6f0e0f9c878b4127205943903b311c0 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/e47cab0e163f9522bfd4bc1f3a4f4ef170fe96fd delete mode 100644 fuzz/corpus/fuzz_ds_patricia/e77f0ad2aede947e4557ca77181c17cfe628e8f9 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/e9ae65ef89f69cde2b8e5b3e2ce14ac98b2c2289 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/ea7d1ce3b3df957829182925f48735fd70e28d1c delete mode 100644 fuzz/corpus/fuzz_ds_patricia/ef6a236812a8235565a4c606ea2c5a9341e4aa41 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/f10e4c67ca64bdce1cd394fd829bf0b5aeed7071 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/f24cf8ce6cf0a9e00e9fcef913843d439792379c delete mode 100644 fuzz/corpus/fuzz_ds_patricia/f415309e92385cbd8c7d1c6a9a7505e933cb2acf delete mode 100644 fuzz/corpus/fuzz_ds_patricia/f4d7ba52332b71166ca952780db341c5645f04b3 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/f5f68d29ff553b4e63a3f0bb69e4c940bc46c291 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/f6fd7dd2bb4542f3d8d253768b6d63777d048afa delete mode 100644 fuzz/corpus/fuzz_ds_patricia/f9cce96c161f401d73f04ef031404a885eb5da37 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/fad5cb6b51a97763038b58addeaa2bd725293ac8 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/fdd08d361bc7e016b6ad2e41d8b167bff2178777 delete mode 100644 fuzz/corpus/fuzz_ds_patricia/ff72929db2b1fdacd24b1aed103bb307bbac7d7f delete mode 100644 fuzz/corpus/fuzz_ds_patricia/ff82aaaf9375f24492e1bc709bf1518b827fc83d create mode 100644 fuzz/corpus/fuzz_filecfg_category/comment.txt create mode 100644 fuzz/corpus/fuzz_filecfg_category/example.txt create mode 100644 fuzz/fuzz_filecfg_category.c (limited to 'fuzz') diff --git a/fuzz/Makefile.am b/fuzz/Makefile.am index a0cfc501c..162e02864 100644 --- a/fuzz/Makefile.am +++ b/fuzz/Makefile.am @@ -8,7 +8,7 @@ bin_PROGRAMS += fuzz_libinjection fuzz_binaryfusefilter #Internal crypto bin_PROGRAMS += fuzz_gcrypt_light fuzz_gcrypt_aes fuzz_gcrypt_gcm fuzz_gcrypt_cipher #Configuration files -bin_PROGRAMS += fuzz_filecfg_protocols fuzz_filecfg_categories fuzz_filecfg_malicious_sha1 fuzz_filecfg_malicious_ja3 fuzz_filecfg_risk_domains fuzz_filecfg_config +bin_PROGRAMS += fuzz_filecfg_protocols fuzz_filecfg_categories fuzz_filecfg_malicious_sha1 fuzz_filecfg_malicious_ja3 fuzz_filecfg_risk_domains fuzz_filecfg_config fuzz_filecfg_category #Reader utils bin_PROGRAMS += fuzz_readerutils_workflow fuzz_readerutils_parseprotolist @@ -576,6 +576,19 @@ fuzz_filecfg_config_LINK=$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXX) @NDPI_CFLAGS@ $(AM_CXXFLAGS) $(CXXFLAGS) \ $(fuzz_filecfg_config_LDFLAGS) @NDPI_LDFLAGS@ $(LDFLAGS) -o $@ +fuzz_filecfg_category_SOURCES = fuzz_filecfg_category.c fuzz_common_code.c +fuzz_filecfg_category_CFLAGS = -I../src/lib/ @NDPI_CFLAGS@ $(CXXFLAGS) -DNDPI_LIB_COMPILATION +fuzz_filecfg_category_LDADD = ../src/lib/libndpi.a $(ADDITIONAL_LIBS) +fuzz_filecfg_category_LDFLAGS = $(LIBS) +if HAS_FUZZLDFLAGS +fuzz_filecfg_category_CFLAGS += $(LIB_FUZZING_ENGINE) +fuzz_filecfg_category_LDFLAGS += $(LIB_FUZZING_ENGINE) +endif +# force usage of CXX for linker +fuzz_filecfg_category_LINK=$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXX) @NDPI_CFLAGS@ $(AM_CXXFLAGS) $(CXXFLAGS) \ + $(fuzz_filecfg_category_LDFLAGS) @NDPI_LDFLAGS@ $(LDFLAGS) -o $@ + fuzz_readerutils_workflow_SOURCES = fuzz_readerutils_workflow.cpp fuzz_common_code.c ../example/reader_util.c fuzz_readerutils_workflow_CXXFLAGS = -I../example/ @NDPI_CFLAGS@ $(CXXFLAGS) fuzz_readerutils_workflow_CFLAGS = @NDPI_CFLAGS@ $(CXXFLAGS) @@ -640,10 +653,6 @@ files_corpus_fuzz_is_stun_tcp := $(wildcard corpus/fuzz_is_stun_tcp/*) fuzz_is_stun_tcp_seed_corpus.zip: $(files_corpus_fuzz_is_stun_tcp) zip -j fuzz_is_stun_tcp_seed_corpus.zip $(files_corpus_fuzz_is_stun_tcp) -files_corpus_fuzz_ds_patricia := $(wildcard corpus/fuzz_ds_patricia/*) -fuzz_ds_patricia_seed_corpus.zip: $(files_corpus_fuzz_ds_patricia) - zip -j fuzz_ds_patricia_seed_corpus.zip $(files_corpus_fuzz_ds_patricia) - files_corpus_fuzz_alg_ses_des := $(wildcard corpus/fuzz_alg_ses_des/*) fuzz_alg_ses_des_seed_corpus.zip: $(files_corpus_fuzz_alg_ses_des) zip -j fuzz_alg_ses_des_seed_corpus.zip $(files_corpus_fuzz_alg_ses_des) @@ -712,6 +721,10 @@ files_corpus_fuzz_filecfg_config := $(wildcard corpus/fuzz_filecfg_config/*) fuzz_filecfg_config_seed_corpus.zip: $(files_corpus_fuzz_filecfg_config) zip -j fuzz_filecfg_config_seed_corpus.zip $(files_corpus_fuzz_filecfg_config) +files_corpus_fuzz_filecfg_category := $(wildcard corpus/fuzz_filecfg_category/*) +fuzz_filecfg_category_seed_corpus.zip: $(files_corpus_fuzz_filecfg_category) + zip -j fuzz_filecfg_category_seed_corpus.zip $(files_corpus_fuzz_filecfg_category) + files_corpus_fuzz_readerutils_workflow := $(wildcard corpus/fuzz_readerutils_workflow/*) fuzz_readerutils_workflow_seed_corpus.zip: $(files_corpus_fuzz_readerutils_workflow) zip -j fuzz_readerutils_workflow_seed_corpus.zip $(files_corpus_fuzz_readerutils_workflow) @@ -728,7 +741,7 @@ files_corpus_fuzz_ds_domain_classify := $(wildcard corpus/fuzz_ds_domain_classi fuzz_ds_domain_classify_seed_corpus.zip: $(files_corpus_fuzz_ds_domain_classify) zip -j fuzz_ds_domain_classify_seed_corpus.zip $(files_corpus_fuzz_ds_domain_classify) -corpus: fuzz_ndpi_reader_seed_corpus.zip fuzz_ndpi_reader_alloc_fail_seed_corpus.zip fuzz_ndpi_reader_payload_analyzer_seed_corpus.zip fuzz_quic_get_crypto_data_seed_corpus.zip fuzz_ds_patricia_seed_corpus.zip fuzz_alg_ses_des_seed_corpus.zip fuzz_alg_bins_seed_corpus.zip fuzz_alg_hll_seed_corpus.zip fuzz_alg_jitter_seed_corpus.zip fuzz_ds_libcache_seed_corpus.zip fuzz_community_id_seed_corpus.zip fuzz_ds_tree_seed_corpus.zip fuzz_serialization_seed_corpus.zip fuzz_ds_ptree_seed_corpus.zip fuzz_alg_crc32_md5_seed_corpus.zip fuzz_alg_bytestream_seed_corpus.zip fuzz_libinjection_seed_corpus.zip fuzz_tls_certificate_seed_corpus.zip fuzz_filecfg_protocols_seed_corpus.zip fuzz_readerutils_workflow_seed_corpus.zip fuzz_readerutils_parseprotolist_seed_corpus.zip fuzz_ds_bitmap64_seed_corpus.zip fuzz_ds_domain_classify_seed_corpus.zip fuzz_filecfg_protocols_seed_corpus.zip fuzz_filecfg_config_seed_corpus.zip fuzz_is_stun_udp_seed_corpus.zip fuzz_is_stun_tcp_seed_corpus.zip fuzz_filecfg_malicious_sha1_seed_corpus.zip fuzz_filecfg_malicious_ja3_seed_corpus.zip fuzz_filecfg_risk_domains_seed_corpus.zip +corpus: fuzz_ndpi_reader_seed_corpus.zip fuzz_ndpi_reader_alloc_fail_seed_corpus.zip fuzz_ndpi_reader_payload_analyzer_seed_corpus.zip fuzz_quic_get_crypto_data_seed_corpus.zip fuzz_alg_ses_des_seed_corpus.zip fuzz_alg_bins_seed_corpus.zip fuzz_alg_hll_seed_corpus.zip fuzz_alg_jitter_seed_corpus.zip fuzz_ds_libcache_seed_corpus.zip fuzz_community_id_seed_corpus.zip fuzz_ds_tree_seed_corpus.zip fuzz_serialization_seed_corpus.zip fuzz_ds_ptree_seed_corpus.zip fuzz_alg_crc32_md5_seed_corpus.zip fuzz_alg_bytestream_seed_corpus.zip fuzz_libinjection_seed_corpus.zip fuzz_tls_certificate_seed_corpus.zip fuzz_filecfg_protocols_seed_corpus.zip fuzz_readerutils_workflow_seed_corpus.zip fuzz_readerutils_parseprotolist_seed_corpus.zip fuzz_ds_bitmap64_seed_corpus.zip fuzz_ds_domain_classify_seed_corpus.zip fuzz_filecfg_protocols_seed_corpus.zip fuzz_filecfg_categories_seed_corpus.zip fuzz_filecfg_config_seed_corpus.zip fuzz_filecfg_category_seed_corpus.zip fuzz_is_stun_udp_seed_corpus.zip fuzz_is_stun_tcp_seed_corpus.zip fuzz_filecfg_malicious_sha1_seed_corpus.zip fuzz_filecfg_malicious_ja3_seed_corpus.zip fuzz_filecfg_risk_domains_seed_corpus.zip cp corpus/fuzz_*seed_corpus.zip . #Create dictionaries exactly as expected by oss-fuzz. @@ -762,6 +775,7 @@ distdir: -o -path './corpus/fuzz_filecfg_malicious_ja3/*' \ -o -path './corpus/fuzz_filecfg_risk_domains/*' \ -o -path './corpus/fuzz_filecfg_config/*' \ + -o -path './corpus/fuzz_filecfg_category/*' \ -o -path './corpus/fuzz_readerutils_workflow/*' \ -o -path './corpus/fuzz_readerutils_parseprotolist/*' \ -o -path './corpus/fuzz_is_stun_udp/*' \ @@ -780,7 +794,6 @@ distdir: -o -path './corpus/fuzz_ds_tree/*' \ -o -path './corpus/fuzz_ds_bitmap64/*' \ -o -path './corpus/fuzz_ds_domain_classify/*' \ - -o -path './corpus/fuzz_ds_ptree/*' \ - -o -path './corpus/fuzz_ds_patricia/*' | xargs -I'{}' cp -r '{}' '$(distdir)/{}' + -o -path './corpus/fuzz_ds_ptree/*' | xargs -I'{}' cp -r '{}' '$(distdir)/{}' all: corpus dictionaries diff --git a/fuzz/corpus/fuzz_ds_patricia/04d093aff831ee1f106282b79281614b8142d91f b/fuzz/corpus/fuzz_ds_patricia/04d093aff831ee1f106282b79281614b8142d91f deleted file mode 100644 index 4dfb06a99..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/04d093aff831ee1f106282b79281614b8142d91f and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/080eefec3d658696f6fdaf478e5ac1739c74e87b b/fuzz/corpus/fuzz_ds_patricia/080eefec3d658696f6fdaf478e5ac1739c74e87b deleted file mode 100644 index cc89738a4..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/080eefec3d658696f6fdaf478e5ac1739c74e87b and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/090a521b47c35bf722a930e4432aa2d730ee8332 b/fuzz/corpus/fuzz_ds_patricia/090a521b47c35bf722a930e4432aa2d730ee8332 deleted file mode 100644 index 2b98a6029..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/090a521b47c35bf722a930e4432aa2d730ee8332 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/0925b0ebe5718061127a9644b6b7d93980d14e3d b/fuzz/corpus/fuzz_ds_patricia/0925b0ebe5718061127a9644b6b7d93980d14e3d deleted file mode 100644 index 75b4c3a2a..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/0925b0ebe5718061127a9644b6b7d93980d14e3d and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/0c4d7507f7afda93d5676b0756e4903fb3dacf60 b/fuzz/corpus/fuzz_ds_patricia/0c4d7507f7afda93d5676b0756e4903fb3dacf60 deleted file mode 100644 index d534e347d..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/0c4d7507f7afda93d5676b0756e4903fb3dacf60 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/0cde5ac31a755afdcdbb10c139831665a36dda75 b/fuzz/corpus/fuzz_ds_patricia/0cde5ac31a755afdcdbb10c139831665a36dda75 deleted file mode 100644 index 1d8983877..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/0cde5ac31a755afdcdbb10c139831665a36dda75 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/0d001e9c537a1cf7da294ea889f4e2e9ce3c13e0 b/fuzz/corpus/fuzz_ds_patricia/0d001e9c537a1cf7da294ea889f4e2e9ce3c13e0 deleted file mode 100644 index 6583bb785..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/0d001e9c537a1cf7da294ea889f4e2e9ce3c13e0 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/13ed262cfca6f60fe738ef6cdfa2b56e5dc2d8da b/fuzz/corpus/fuzz_ds_patricia/13ed262cfca6f60fe738ef6cdfa2b56e5dc2d8da deleted file mode 100644 index 07f49d1ce..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/13ed262cfca6f60fe738ef6cdfa2b56e5dc2d8da and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/14518d096ece2abb8a2dd7327514f24d6cd48b58 b/fuzz/corpus/fuzz_ds_patricia/14518d096ece2abb8a2dd7327514f24d6cd48b58 deleted file mode 100644 index 24b97cccb..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/14518d096ece2abb8a2dd7327514f24d6cd48b58 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/15eb3eb3d65eba1b2a8cb71c2148766114962ac7 b/fuzz/corpus/fuzz_ds_patricia/15eb3eb3d65eba1b2a8cb71c2148766114962ac7 deleted file mode 100644 index c6ef675b6..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/15eb3eb3d65eba1b2a8cb71c2148766114962ac7 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/1b33c6dae5a35eee9358136515bbe1ee207a3d49 b/fuzz/corpus/fuzz_ds_patricia/1b33c6dae5a35eee9358136515bbe1ee207a3d49 deleted file mode 100644 index c6e875044..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/1b33c6dae5a35eee9358136515bbe1ee207a3d49 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/1e7eb80c8e1d8f9b7314b470d92c6be020b97e68 b/fuzz/corpus/fuzz_ds_patricia/1e7eb80c8e1d8f9b7314b470d92c6be020b97e68 deleted file mode 100644 index 46041c9a8..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/1e7eb80c8e1d8f9b7314b470d92c6be020b97e68 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/206d5c79d04ccdb3b0d946abbc94d4b637039107 b/fuzz/corpus/fuzz_ds_patricia/206d5c79d04ccdb3b0d946abbc94d4b637039107 deleted file mode 100644 index 1de64153c..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/206d5c79d04ccdb3b0d946abbc94d4b637039107 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/219cdafc24a0ebab673b49203f3cbbd6efde7000 b/fuzz/corpus/fuzz_ds_patricia/219cdafc24a0ebab673b49203f3cbbd6efde7000 deleted file mode 100644 index fe1c06fb9..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/219cdafc24a0ebab673b49203f3cbbd6efde7000 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/21b1e04ce1c6eb7bdf43328e5c47b15fa44d6f4f b/fuzz/corpus/fuzz_ds_patricia/21b1e04ce1c6eb7bdf43328e5c47b15fa44d6f4f deleted file mode 100644 index c5db9d0dd..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/21b1e04ce1c6eb7bdf43328e5c47b15fa44d6f4f and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/24ccf941ae8c4b95303a148da73d2348619eab9a b/fuzz/corpus/fuzz_ds_patricia/24ccf941ae8c4b95303a148da73d2348619eab9a deleted file mode 100644 index 12d51dac6..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/24ccf941ae8c4b95303a148da73d2348619eab9a and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/29afd7f67f6a46c398d71cd9e5ecce787d7f1176 b/fuzz/corpus/fuzz_ds_patricia/29afd7f67f6a46c398d71cd9e5ecce787d7f1176 deleted file mode 100644 index fe6050b3e..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/29afd7f67f6a46c398d71cd9e5ecce787d7f1176 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/2a286cbf9d32f6de497f91438b0f93c831893d06 b/fuzz/corpus/fuzz_ds_patricia/2a286cbf9d32f6de497f91438b0f93c831893d06 deleted file mode 100644 index 1bf7effae..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/2a286cbf9d32f6de497f91438b0f93c831893d06 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/2be813450d93a51bd5f047adb730c7929820f643 b/fuzz/corpus/fuzz_ds_patricia/2be813450d93a51bd5f047adb730c7929820f643 deleted file mode 100644 index 301f0d579..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/2be813450d93a51bd5f047adb730c7929820f643 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/2c1289ca6c27b79cebb54dc39a55a3fe9fc6bbf9 b/fuzz/corpus/fuzz_ds_patricia/2c1289ca6c27b79cebb54dc39a55a3fe9fc6bbf9 deleted file mode 100644 index 0edbf0af5..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/2c1289ca6c27b79cebb54dc39a55a3fe9fc6bbf9 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/2c48dce4e16ebb7bbeaa65a5cf0803baa3925a06 b/fuzz/corpus/fuzz_ds_patricia/2c48dce4e16ebb7bbeaa65a5cf0803baa3925a06 deleted file mode 100644 index b663fb5e7..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/2c48dce4e16ebb7bbeaa65a5cf0803baa3925a06 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/2c8502a8cc05c9877c0292567494678a54ee1e38 b/fuzz/corpus/fuzz_ds_patricia/2c8502a8cc05c9877c0292567494678a54ee1e38 deleted file mode 100644 index 0816e402e..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/2c8502a8cc05c9877c0292567494678a54ee1e38 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/2cefff96a3039cdbef3c3a6ba41d0b2fe1a24dde b/fuzz/corpus/fuzz_ds_patricia/2cefff96a3039cdbef3c3a6ba41d0b2fe1a24dde deleted file mode 100644 index 986f6b32f..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/2cefff96a3039cdbef3c3a6ba41d0b2fe1a24dde and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/2dbc0e121b164c9ef8cc50247c2fadc3aae9360c b/fuzz/corpus/fuzz_ds_patricia/2dbc0e121b164c9ef8cc50247c2fadc3aae9360c deleted file mode 100644 index e7991e4e2..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/2dbc0e121b164c9ef8cc50247c2fadc3aae9360c and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/31416f580807982a721aa329e749589b643bde35 b/fuzz/corpus/fuzz_ds_patricia/31416f580807982a721aa329e749589b643bde35 deleted file mode 100644 index b6d28ca14..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/31416f580807982a721aa329e749589b643bde35 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/31accd2800389b82f8dc68979878c6556982bbb1 b/fuzz/corpus/fuzz_ds_patricia/31accd2800389b82f8dc68979878c6556982bbb1 deleted file mode 100644 index ad7862b3b..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/31accd2800389b82f8dc68979878c6556982bbb1 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/3676c7c3052ee8bf7202ab9cdd06f678d8c47266 b/fuzz/corpus/fuzz_ds_patricia/3676c7c3052ee8bf7202ab9cdd06f678d8c47266 deleted file mode 100644 index 7ff41e16d..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/3676c7c3052ee8bf7202ab9cdd06f678d8c47266 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/36b3014210a0794308ae1181d4a8ad08e98f28fd b/fuzz/corpus/fuzz_ds_patricia/36b3014210a0794308ae1181d4a8ad08e98f28fd deleted file mode 100644 index 311dc779a..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/36b3014210a0794308ae1181d4a8ad08e98f28fd and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/3ace63222163540c03cd16910add24236483139d b/fuzz/corpus/fuzz_ds_patricia/3ace63222163540c03cd16910add24236483139d deleted file mode 100644 index 6d4021771..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/3ace63222163540c03cd16910add24236483139d and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/3cd758923493dc4269e956dcd2275cacb70b3d06 b/fuzz/corpus/fuzz_ds_patricia/3cd758923493dc4269e956dcd2275cacb70b3d06 deleted file mode 100644 index 34ff5eb1f..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/3cd758923493dc4269e956dcd2275cacb70b3d06 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/40225fbb10ed02053853ce61f3561a1c2eaadd8f b/fuzz/corpus/fuzz_ds_patricia/40225fbb10ed02053853ce61f3561a1c2eaadd8f deleted file mode 100644 index 45ac04667..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/40225fbb10ed02053853ce61f3561a1c2eaadd8f and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/414970dac4e5e56fce119eee76544cf64a14dfe9 b/fuzz/corpus/fuzz_ds_patricia/414970dac4e5e56fce119eee76544cf64a14dfe9 deleted file mode 100644 index 3a71d9826..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/414970dac4e5e56fce119eee76544cf64a14dfe9 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/41525d340f74f45d774491a3ff3cb09b5c40ae96 b/fuzz/corpus/fuzz_ds_patricia/41525d340f74f45d774491a3ff3cb09b5c40ae96 deleted file mode 100644 index d510e3f26..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/41525d340f74f45d774491a3ff3cb09b5c40ae96 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/4257941232d8d6fd686dc09b71405dfd24aef634 b/fuzz/corpus/fuzz_ds_patricia/4257941232d8d6fd686dc09b71405dfd24aef634 deleted file mode 100644 index 95f8933cf..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/4257941232d8d6fd686dc09b71405dfd24aef634 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/442d5de73c8b73fd39975a5bd03c8d81c9397f2f b/fuzz/corpus/fuzz_ds_patricia/442d5de73c8b73fd39975a5bd03c8d81c9397f2f deleted file mode 100644 index c39bf4f5a..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/442d5de73c8b73fd39975a5bd03c8d81c9397f2f and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/47ed8baadac2f946a298d232123e4e84684e9564 b/fuzz/corpus/fuzz_ds_patricia/47ed8baadac2f946a298d232123e4e84684e9564 deleted file mode 100644 index f10228edd..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/47ed8baadac2f946a298d232123e4e84684e9564 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/49b434649dca7dfd496b4dcaa4367804c526abce b/fuzz/corpus/fuzz_ds_patricia/49b434649dca7dfd496b4dcaa4367804c526abce deleted file mode 100644 index 6ee874425..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/49b434649dca7dfd496b4dcaa4367804c526abce and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/4faa575adf7479a26e898cc388d43bfc56abc3ee b/fuzz/corpus/fuzz_ds_patricia/4faa575adf7479a26e898cc388d43bfc56abc3ee deleted file mode 100644 index cf9dcf951..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/4faa575adf7479a26e898cc388d43bfc56abc3ee and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/50973022d553441dc116887c25f6dc84912ba703 b/fuzz/corpus/fuzz_ds_patricia/50973022d553441dc116887c25f6dc84912ba703 deleted file mode 100644 index acf849745..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/50973022d553441dc116887c25f6dc84912ba703 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/521991a268c2e02c6f7be45c9526cfe88b2e3f7f b/fuzz/corpus/fuzz_ds_patricia/521991a268c2e02c6f7be45c9526cfe88b2e3f7f deleted file mode 100644 index 95ee0a99b..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/521991a268c2e02c6f7be45c9526cfe88b2e3f7f and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/530bdb11fe9270a52123f0faeed18c46b5f94fd9 b/fuzz/corpus/fuzz_ds_patricia/530bdb11fe9270a52123f0faeed18c46b5f94fd9 deleted file mode 100644 index 72d1cec2d..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/530bdb11fe9270a52123f0faeed18c46b5f94fd9 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/54b73015a7a5041d00f84d67d51832d48c2b9907 b/fuzz/corpus/fuzz_ds_patricia/54b73015a7a5041d00f84d67d51832d48c2b9907 deleted file mode 100644 index 5b2e13204..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/54b73015a7a5041d00f84d67d51832d48c2b9907 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/599faaa27c2503b734bcd44fd3de9c9adb388bbb b/fuzz/corpus/fuzz_ds_patricia/599faaa27c2503b734bcd44fd3de9c9adb388bbb deleted file mode 100644 index 6670b4a9c..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/599faaa27c2503b734bcd44fd3de9c9adb388bbb and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/59a871d0625a68595b0e676966b003e5d9bb2cf3 b/fuzz/corpus/fuzz_ds_patricia/59a871d0625a68595b0e676966b003e5d9bb2cf3 deleted file mode 100644 index 0d747622e..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/59a871d0625a68595b0e676966b003e5d9bb2cf3 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/5bbea5577dd3884eae9bb1e1979f2794d591f250 b/fuzz/corpus/fuzz_ds_patricia/5bbea5577dd3884eae9bb1e1979f2794d591f250 deleted file mode 100644 index db187d141..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/5bbea5577dd3884eae9bb1e1979f2794d591f250 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/63fd84fdb4c93e5051b131e7283d1edbf2346d97 b/fuzz/corpus/fuzz_ds_patricia/63fd84fdb4c93e5051b131e7283d1edbf2346d97 deleted file mode 100644 index 9aceece25..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/63fd84fdb4c93e5051b131e7283d1edbf2346d97 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/6420e92ebf6d3056821f7e7dd2e12d0d2dfb716f b/fuzz/corpus/fuzz_ds_patricia/6420e92ebf6d3056821f7e7dd2e12d0d2dfb716f deleted file mode 100644 index 232c7b6cc..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/6420e92ebf6d3056821f7e7dd2e12d0d2dfb716f and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/68765021cb1305cb14753ce1ffb2e6b0ca98f670 b/fuzz/corpus/fuzz_ds_patricia/68765021cb1305cb14753ce1ffb2e6b0ca98f670 deleted file mode 100644 index eac99a324..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/68765021cb1305cb14753ce1ffb2e6b0ca98f670 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/68aa130fbb2ffb67d937d0726e6335332039beb2 b/fuzz/corpus/fuzz_ds_patricia/68aa130fbb2ffb67d937d0726e6335332039beb2 deleted file mode 100644 index c6d7ef4ae..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/68aa130fbb2ffb67d937d0726e6335332039beb2 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/6a5d9322d42293dbbed245169604641ddcc6c736 b/fuzz/corpus/fuzz_ds_patricia/6a5d9322d42293dbbed245169604641ddcc6c736 deleted file mode 100644 index 6e42b2aa9..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/6a5d9322d42293dbbed245169604641ddcc6c736 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/6b9d2fb5531fdf9064209020a9f28487f94b7ad2 b/fuzz/corpus/fuzz_ds_patricia/6b9d2fb5531fdf9064209020a9f28487f94b7ad2 deleted file mode 100644 index e55f2ba72..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/6b9d2fb5531fdf9064209020a9f28487f94b7ad2 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/6eebb0b657faa02d74cbe782acb06014a09e1681 b/fuzz/corpus/fuzz_ds_patricia/6eebb0b657faa02d74cbe782acb06014a09e1681 deleted file mode 100644 index 985c59bfb..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/6eebb0b657faa02d74cbe782acb06014a09e1681 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/7218671551e49d714af5c9a0363debc41f69b07f b/fuzz/corpus/fuzz_ds_patricia/7218671551e49d714af5c9a0363debc41f69b07f deleted file mode 100644 index ba3469110..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/7218671551e49d714af5c9a0363debc41f69b07f and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/74cc48645729d7afccc86b88ebdc525ec8e8639e b/fuzz/corpus/fuzz_ds_patricia/74cc48645729d7afccc86b88ebdc525ec8e8639e deleted file mode 100644 index 6c61526ad..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/74cc48645729d7afccc86b88ebdc525ec8e8639e and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/75bfb98cd2a35dc1af93c58279ea057d45ea09e6 b/fuzz/corpus/fuzz_ds_patricia/75bfb98cd2a35dc1af93c58279ea057d45ea09e6 deleted file mode 100644 index 6358e5a9e..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/75bfb98cd2a35dc1af93c58279ea057d45ea09e6 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/789b485a90d58fdb8817484cd8d0fb125d1ccbeb b/fuzz/corpus/fuzz_ds_patricia/789b485a90d58fdb8817484cd8d0fb125d1ccbeb deleted file mode 100644 index 36d2bd060..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/789b485a90d58fdb8817484cd8d0fb125d1ccbeb and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/791eeff6a8158407fcf41885f5114b42576bdc5e b/fuzz/corpus/fuzz_ds_patricia/791eeff6a8158407fcf41885f5114b42576bdc5e deleted file mode 100644 index 7b5fd5471..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/791eeff6a8158407fcf41885f5114b42576bdc5e and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/800207865abd6b8e974f7d8ca1165f88fb706da7 b/fuzz/corpus/fuzz_ds_patricia/800207865abd6b8e974f7d8ca1165f88fb706da7 deleted file mode 100644 index 57ab491aa..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/800207865abd6b8e974f7d8ca1165f88fb706da7 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/80d1a9bbd11a273f303b92ca65e2eca5221274c7 b/fuzz/corpus/fuzz_ds_patricia/80d1a9bbd11a273f303b92ca65e2eca5221274c7 deleted file mode 100644 index 58da9a664..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/80d1a9bbd11a273f303b92ca65e2eca5221274c7 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/82b0d13945b9d20c7b91ed26645f1e4b0b4e5a67 b/fuzz/corpus/fuzz_ds_patricia/82b0d13945b9d20c7b91ed26645f1e4b0b4e5a67 deleted file mode 100644 index 46799067e..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/82b0d13945b9d20c7b91ed26645f1e4b0b4e5a67 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/83a6b52b1116271058025d5d622cf1412dfa5701 b/fuzz/corpus/fuzz_ds_patricia/83a6b52b1116271058025d5d622cf1412dfa5701 deleted file mode 100644 index 391b875dd..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/83a6b52b1116271058025d5d622cf1412dfa5701 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/83c0a0d3cf3f29cddddeb7c355138ae236bf5727 b/fuzz/corpus/fuzz_ds_patricia/83c0a0d3cf3f29cddddeb7c355138ae236bf5727 deleted file mode 100644 index b1f89eb8c..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/83c0a0d3cf3f29cddddeb7c355138ae236bf5727 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/8b3d2f65163ff2351bf9a5bbf7dfbaeace054246 b/fuzz/corpus/fuzz_ds_patricia/8b3d2f65163ff2351bf9a5bbf7dfbaeace054246 deleted file mode 100644 index acaab6e6a..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/8b3d2f65163ff2351bf9a5bbf7dfbaeace054246 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/8b3fa51f3ea12e0ab1f2e4338f0bbdd167995c98 b/fuzz/corpus/fuzz_ds_patricia/8b3fa51f3ea12e0ab1f2e4338f0bbdd167995c98 deleted file mode 100644 index a799ddcce..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/8b3fa51f3ea12e0ab1f2e4338f0bbdd167995c98 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/8dc1dd8e66922ff701c798bbe91d19b37f58495f b/fuzz/corpus/fuzz_ds_patricia/8dc1dd8e66922ff701c798bbe91d19b37f58495f deleted file mode 100644 index 6084afb47..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/8dc1dd8e66922ff701c798bbe91d19b37f58495f and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/8e77a1ae0ef5ee0974856f2a0318b46e98f0e4f9 b/fuzz/corpus/fuzz_ds_patricia/8e77a1ae0ef5ee0974856f2a0318b46e98f0e4f9 deleted file mode 100644 index c3a15d37a..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/8e77a1ae0ef5ee0974856f2a0318b46e98f0e4f9 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/8f2f7f037ede54b9812983536b8a973db7dfe5ec b/fuzz/corpus/fuzz_ds_patricia/8f2f7f037ede54b9812983536b8a973db7dfe5ec deleted file mode 100644 index f6ca2f3d2..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/8f2f7f037ede54b9812983536b8a973db7dfe5ec and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/8f7756178046d60be6bf9eb02d2920c208aa7a7d b/fuzz/corpus/fuzz_ds_patricia/8f7756178046d60be6bf9eb02d2920c208aa7a7d deleted file mode 100644 index 540e6b5c8..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/8f7756178046d60be6bf9eb02d2920c208aa7a7d and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/921441816405adb82a95beb9e829eb2d07364e39 b/fuzz/corpus/fuzz_ds_patricia/921441816405adb82a95beb9e829eb2d07364e39 deleted file mode 100644 index 7a9455885..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/921441816405adb82a95beb9e829eb2d07364e39 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/94cfe0c7f792ee42ff43e5559fe0375323b9b68a b/fuzz/corpus/fuzz_ds_patricia/94cfe0c7f792ee42ff43e5559fe0375323b9b68a deleted file mode 100644 index e6a86cf92..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/94cfe0c7f792ee42ff43e5559fe0375323b9b68a and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/95107e7dc7612da1d0905556f401953c06b3507e b/fuzz/corpus/fuzz_ds_patricia/95107e7dc7612da1d0905556f401953c06b3507e deleted file mode 100644 index 3c2fe90da..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/95107e7dc7612da1d0905556f401953c06b3507e and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/9764794fc2c7bcb80ca3f42525e4d4e8e32a088f b/fuzz/corpus/fuzz_ds_patricia/9764794fc2c7bcb80ca3f42525e4d4e8e32a088f deleted file mode 100644 index 9dc4ca1f2..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/9764794fc2c7bcb80ca3f42525e4d4e8e32a088f and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/99a846729e1fa67dde649843fdf554d3d5c14d1e b/fuzz/corpus/fuzz_ds_patricia/99a846729e1fa67dde649843fdf554d3d5c14d1e deleted file mode 100644 index 91662c870..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/99a846729e1fa67dde649843fdf554d3d5c14d1e and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/9ba1d8c0a69decdd9035db4c60a2aaf66daa9fc1 b/fuzz/corpus/fuzz_ds_patricia/9ba1d8c0a69decdd9035db4c60a2aaf66daa9fc1 deleted file mode 100644 index e85691172..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/9ba1d8c0a69decdd9035db4c60a2aaf66daa9fc1 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/9c3e465891504c1549a8f2d82dc9416c6f029d00 b/fuzz/corpus/fuzz_ds_patricia/9c3e465891504c1549a8f2d82dc9416c6f029d00 deleted file mode 100644 index 07f9852e3..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/9c3e465891504c1549a8f2d82dc9416c6f029d00 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/9cb9002b518cf7158ddd8023b9559f629591cf56 b/fuzz/corpus/fuzz_ds_patricia/9cb9002b518cf7158ddd8023b9559f629591cf56 deleted file mode 100644 index 79531c506..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/9cb9002b518cf7158ddd8023b9559f629591cf56 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/9cc3c1a480c0872bc2f3e8e9539a46951436c1c3 b/fuzz/corpus/fuzz_ds_patricia/9cc3c1a480c0872bc2f3e8e9539a46951436c1c3 deleted file mode 100644 index 940db7966..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/9cc3c1a480c0872bc2f3e8e9539a46951436c1c3 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/9cd8475553e593641897c96d7abd7463f49c2682 b/fuzz/corpus/fuzz_ds_patricia/9cd8475553e593641897c96d7abd7463f49c2682 deleted file mode 100644 index 886a24de0..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/9cd8475553e593641897c96d7abd7463f49c2682 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/9d598f7fa3cdf08e373f27caf61c012aae75ce4d b/fuzz/corpus/fuzz_ds_patricia/9d598f7fa3cdf08e373f27caf61c012aae75ce4d deleted file mode 100644 index d3ba8fa10..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/9d598f7fa3cdf08e373f27caf61c012aae75ce4d and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/9fa60713c5ae1f3726ae70fd4e8c230c27e10a7e b/fuzz/corpus/fuzz_ds_patricia/9fa60713c5ae1f3726ae70fd4e8c230c27e10a7e deleted file mode 100644 index 0dcd71b1a..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/9fa60713c5ae1f3726ae70fd4e8c230c27e10a7e and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/a7302ca6b5de89a8840072d6bc28184881e7e5c7 b/fuzz/corpus/fuzz_ds_patricia/a7302ca6b5de89a8840072d6bc28184881e7e5c7 deleted file mode 100644 index 6d257363b..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/a7302ca6b5de89a8840072d6bc28184881e7e5c7 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/a7780546d30ae4eb791b6cef858b87dcf915307b b/fuzz/corpus/fuzz_ds_patricia/a7780546d30ae4eb791b6cef858b87dcf915307b deleted file mode 100644 index bd64e4d9f..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/a7780546d30ae4eb791b6cef858b87dcf915307b and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/a91405def886e3eccd8ee813609ef32d0b02815b b/fuzz/corpus/fuzz_ds_patricia/a91405def886e3eccd8ee813609ef32d0b02815b deleted file mode 100644 index f843af5ff..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/a91405def886e3eccd8ee813609ef32d0b02815b and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/aa0a7045de571ac72c4bef04373965d3c062a802 b/fuzz/corpus/fuzz_ds_patricia/aa0a7045de571ac72c4bef04373965d3c062a802 deleted file mode 100644 index f21af4514..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/aa0a7045de571ac72c4bef04373965d3c062a802 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/acadff503aae63ba452f693f9b1af75beeb871c2 b/fuzz/corpus/fuzz_ds_patricia/acadff503aae63ba452f693f9b1af75beeb871c2 deleted file mode 100644 index e5f5a67ee..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/acadff503aae63ba452f693f9b1af75beeb871c2 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/ad11755d5c38e9b4f78b89ea0115891f1e503512 b/fuzz/corpus/fuzz_ds_patricia/ad11755d5c38e9b4f78b89ea0115891f1e503512 deleted file mode 100644 index 66a26c7f8..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/ad11755d5c38e9b4f78b89ea0115891f1e503512 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/ad56cf4fbb246dbfea16651702230fda3e0c9c83 b/fuzz/corpus/fuzz_ds_patricia/ad56cf4fbb246dbfea16651702230fda3e0c9c83 deleted file mode 100644 index 335e795f6..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/ad56cf4fbb246dbfea16651702230fda3e0c9c83 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/ae2ee75e6177727ac0387e2c99ae3a761827d68e b/fuzz/corpus/fuzz_ds_patricia/ae2ee75e6177727ac0387e2c99ae3a761827d68e deleted file mode 100644 index b1573f088..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/ae2ee75e6177727ac0387e2c99ae3a761827d68e and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/b042b35030eb170c6507e14dd6f00a6e1b670612 b/fuzz/corpus/fuzz_ds_patricia/b042b35030eb170c6507e14dd6f00a6e1b670612 deleted file mode 100644 index cf2b6370a..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/b042b35030eb170c6507e14dd6f00a6e1b670612 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/b41236f1031a78544a0cbed30399f5c63810c858 b/fuzz/corpus/fuzz_ds_patricia/b41236f1031a78544a0cbed30399f5c63810c858 deleted file mode 100644 index f1d8cafbf..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/b41236f1031a78544a0cbed30399f5c63810c858 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/b688eaaf60534a0470b8a153c71dd52f6acde043 b/fuzz/corpus/fuzz_ds_patricia/b688eaaf60534a0470b8a153c71dd52f6acde043 deleted file mode 100644 index 84a29ac97..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/b688eaaf60534a0470b8a153c71dd52f6acde043 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/bafbbb41dfbb7cc1be135d34ad282d54d14fb308 b/fuzz/corpus/fuzz_ds_patricia/bafbbb41dfbb7cc1be135d34ad282d54d14fb308 deleted file mode 100644 index 8fbae7c0c..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/bafbbb41dfbb7cc1be135d34ad282d54d14fb308 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/bcd8153bc8760c12dccfc81e6fce1cee6dc2c1b4 b/fuzz/corpus/fuzz_ds_patricia/bcd8153bc8760c12dccfc81e6fce1cee6dc2c1b4 deleted file mode 100644 index e2bbdff8c..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/bcd8153bc8760c12dccfc81e6fce1cee6dc2c1b4 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/bff088bb8cea1b5dd229632d70941de8c9415889 b/fuzz/corpus/fuzz_ds_patricia/bff088bb8cea1b5dd229632d70941de8c9415889 deleted file mode 100644 index 6ac14e540..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/bff088bb8cea1b5dd229632d70941de8c9415889 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/c4b1f93b79ffcc468bf487d36c12a53f2e20f5be b/fuzz/corpus/fuzz_ds_patricia/c4b1f93b79ffcc468bf487d36c12a53f2e20f5be deleted file mode 100644 index 640f6f047..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/c4b1f93b79ffcc468bf487d36c12a53f2e20f5be and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/c550a457be7c8589680c0d0eb3a36f3e48d96b17 b/fuzz/corpus/fuzz_ds_patricia/c550a457be7c8589680c0d0eb3a36f3e48d96b17 deleted file mode 100644 index 80cb6cc3d..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/c550a457be7c8589680c0d0eb3a36f3e48d96b17 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/c8d112d02108163b41a166b147a7a44922d7ab49 b/fuzz/corpus/fuzz_ds_patricia/c8d112d02108163b41a166b147a7a44922d7ab49 deleted file mode 100644 index 5172aac07..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/c8d112d02108163b41a166b147a7a44922d7ab49 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/d0b0b56e3a3b9092ab75b212aa07777c48013050 b/fuzz/corpus/fuzz_ds_patricia/d0b0b56e3a3b9092ab75b212aa07777c48013050 deleted file mode 100644 index 8d68c7ff3..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/d0b0b56e3a3b9092ab75b212aa07777c48013050 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/d35119bcdc064dfd438dd5dc943a7d6e64b118bc b/fuzz/corpus/fuzz_ds_patricia/d35119bcdc064dfd438dd5dc943a7d6e64b118bc deleted file mode 100644 index 01e5bdb5a..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/d35119bcdc064dfd438dd5dc943a7d6e64b118bc and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/d47ffc046a3a67b46138121d4b0752cb770380ae b/fuzz/corpus/fuzz_ds_patricia/d47ffc046a3a67b46138121d4b0752cb770380ae deleted file mode 100644 index 388654c13..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/d47ffc046a3a67b46138121d4b0752cb770380ae and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/d5c613293379f84fd9d30da74953c74336b3efc7 b/fuzz/corpus/fuzz_ds_patricia/d5c613293379f84fd9d30da74953c74336b3efc7 deleted file mode 100644 index 684fc6ee0..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/d5c613293379f84fd9d30da74953c74336b3efc7 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/d9ea126774547be83e8514cf14bfc46b90e04ae1 b/fuzz/corpus/fuzz_ds_patricia/d9ea126774547be83e8514cf14bfc46b90e04ae1 deleted file mode 100644 index 91866bdf6..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/d9ea126774547be83e8514cf14bfc46b90e04ae1 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/e0b35272e42e26f2396fb30f2601afebeec4760b b/fuzz/corpus/fuzz_ds_patricia/e0b35272e42e26f2396fb30f2601afebeec4760b deleted file mode 100644 index 378cbfeb1..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/e0b35272e42e26f2396fb30f2601afebeec4760b and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/e0f738b7cc91b246885c5055c7a16ab716053186 b/fuzz/corpus/fuzz_ds_patricia/e0f738b7cc91b246885c5055c7a16ab716053186 deleted file mode 100644 index 610bf4fda..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/e0f738b7cc91b246885c5055c7a16ab716053186 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/e1c65b55e6f0e0f9c878b4127205943903b311c0 b/fuzz/corpus/fuzz_ds_patricia/e1c65b55e6f0e0f9c878b4127205943903b311c0 deleted file mode 100644 index 3d048060e..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/e1c65b55e6f0e0f9c878b4127205943903b311c0 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/e47cab0e163f9522bfd4bc1f3a4f4ef170fe96fd b/fuzz/corpus/fuzz_ds_patricia/e47cab0e163f9522bfd4bc1f3a4f4ef170fe96fd deleted file mode 100644 index e1abf7f4a..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/e47cab0e163f9522bfd4bc1f3a4f4ef170fe96fd and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/e77f0ad2aede947e4557ca77181c17cfe628e8f9 b/fuzz/corpus/fuzz_ds_patricia/e77f0ad2aede947e4557ca77181c17cfe628e8f9 deleted file mode 100644 index 6a8b48ea4..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/e77f0ad2aede947e4557ca77181c17cfe628e8f9 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/e9ae65ef89f69cde2b8e5b3e2ce14ac98b2c2289 b/fuzz/corpus/fuzz_ds_patricia/e9ae65ef89f69cde2b8e5b3e2ce14ac98b2c2289 deleted file mode 100644 index 311f15263..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/e9ae65ef89f69cde2b8e5b3e2ce14ac98b2c2289 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/ea7d1ce3b3df957829182925f48735fd70e28d1c b/fuzz/corpus/fuzz_ds_patricia/ea7d1ce3b3df957829182925f48735fd70e28d1c deleted file mode 100644 index 1f3efb89b..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/ea7d1ce3b3df957829182925f48735fd70e28d1c and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/ef6a236812a8235565a4c606ea2c5a9341e4aa41 b/fuzz/corpus/fuzz_ds_patricia/ef6a236812a8235565a4c606ea2c5a9341e4aa41 deleted file mode 100644 index 116c41f38..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/ef6a236812a8235565a4c606ea2c5a9341e4aa41 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/f10e4c67ca64bdce1cd394fd829bf0b5aeed7071 b/fuzz/corpus/fuzz_ds_patricia/f10e4c67ca64bdce1cd394fd829bf0b5aeed7071 deleted file mode 100644 index 0a9d7567a..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/f10e4c67ca64bdce1cd394fd829bf0b5aeed7071 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/f24cf8ce6cf0a9e00e9fcef913843d439792379c b/fuzz/corpus/fuzz_ds_patricia/f24cf8ce6cf0a9e00e9fcef913843d439792379c deleted file mode 100644 index 67fe193c4..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/f24cf8ce6cf0a9e00e9fcef913843d439792379c and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/f415309e92385cbd8c7d1c6a9a7505e933cb2acf b/fuzz/corpus/fuzz_ds_patricia/f415309e92385cbd8c7d1c6a9a7505e933cb2acf deleted file mode 100644 index ebe797d0b..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/f415309e92385cbd8c7d1c6a9a7505e933cb2acf and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/f4d7ba52332b71166ca952780db341c5645f04b3 b/fuzz/corpus/fuzz_ds_patricia/f4d7ba52332b71166ca952780db341c5645f04b3 deleted file mode 100644 index 643e1c657..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/f4d7ba52332b71166ca952780db341c5645f04b3 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/f5f68d29ff553b4e63a3f0bb69e4c940bc46c291 b/fuzz/corpus/fuzz_ds_patricia/f5f68d29ff553b4e63a3f0bb69e4c940bc46c291 deleted file mode 100644 index f67a60d06..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/f5f68d29ff553b4e63a3f0bb69e4c940bc46c291 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/f6fd7dd2bb4542f3d8d253768b6d63777d048afa b/fuzz/corpus/fuzz_ds_patricia/f6fd7dd2bb4542f3d8d253768b6d63777d048afa deleted file mode 100644 index d9fed68be..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/f6fd7dd2bb4542f3d8d253768b6d63777d048afa and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/f9cce96c161f401d73f04ef031404a885eb5da37 b/fuzz/corpus/fuzz_ds_patricia/f9cce96c161f401d73f04ef031404a885eb5da37 deleted file mode 100644 index 2f0142c4c..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/f9cce96c161f401d73f04ef031404a885eb5da37 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/fad5cb6b51a97763038b58addeaa2bd725293ac8 b/fuzz/corpus/fuzz_ds_patricia/fad5cb6b51a97763038b58addeaa2bd725293ac8 deleted file mode 100644 index 62f69055d..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/fad5cb6b51a97763038b58addeaa2bd725293ac8 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/fdd08d361bc7e016b6ad2e41d8b167bff2178777 b/fuzz/corpus/fuzz_ds_patricia/fdd08d361bc7e016b6ad2e41d8b167bff2178777 deleted file mode 100644 index f913a3239..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/fdd08d361bc7e016b6ad2e41d8b167bff2178777 and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/ff72929db2b1fdacd24b1aed103bb307bbac7d7f b/fuzz/corpus/fuzz_ds_patricia/ff72929db2b1fdacd24b1aed103bb307bbac7d7f deleted file mode 100644 index eefeedb2e..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/ff72929db2b1fdacd24b1aed103bb307bbac7d7f and /dev/null differ diff --git a/fuzz/corpus/fuzz_ds_patricia/ff82aaaf9375f24492e1bc709bf1518b827fc83d b/fuzz/corpus/fuzz_ds_patricia/ff82aaaf9375f24492e1bc709bf1518b827fc83d deleted file mode 100644 index 648a4f052..000000000 Binary files a/fuzz/corpus/fuzz_ds_patricia/ff82aaaf9375f24492e1bc709bf1518b827fc83d and /dev/null differ diff --git a/fuzz/corpus/fuzz_filecfg_category/comment.txt b/fuzz/corpus/fuzz_filecfg_category/comment.txt new file mode 100644 index 000000000..99e8589b5 --- /dev/null +++ b/fuzz/corpus/fuzz_filecfg_category/comment.txt @@ -0,0 +1 @@ +#comment diff --git a/fuzz/corpus/fuzz_filecfg_category/example.txt b/fuzz/corpus/fuzz_filecfg_category/example.txt new file mode 100644 index 000000000..a4bb082c2 --- /dev/null +++ b/fuzz/corpus/fuzz_filecfg_category/example.txt @@ -0,0 +1 @@ +lop.programtts.top diff --git a/fuzz/fuzz_common_code.c b/fuzz/fuzz_common_code.c index 4dbcf3018..d4311b1b6 100644 --- a/fuzz/fuzz_common_code.c +++ b/fuzz/fuzz_common_code.c @@ -44,6 +44,7 @@ void fuzz_init_detection_module(struct ndpi_detection_module_struct **ndpi_info_ ndpi_set_config(*ndpi_info_mod, NULL, "log.level", "3"); ndpi_set_config(*ndpi_info_mod, "all", "log", "enable"); + ndpi_load_domain_suffixes(*ndpi_info_mod, "public_suffix_list.dat"); ndpi_load_categories_dir(*ndpi_info_mod, "./lists/"); ndpi_load_protocols_file(*ndpi_info_mod, "protos.txt"); ndpi_load_categories_file(*ndpi_info_mod, "categories.txt", NULL); diff --git a/fuzz/fuzz_config.cpp b/fuzz/fuzz_config.cpp index b85f3752f..f99b87358 100644 --- a/fuzz/fuzz_config.cpp +++ b/fuzz/fuzz_config.cpp @@ -32,6 +32,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { char cfg_value[32]; char cfg_proto[32]; char cfg_param[32]; + u_int64_t cat_userdata = 0; /* Just to be sure to have some data */ @@ -65,16 +66,32 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { if(fuzzed_data.ConsumeBool()) ndpi_load_protocols_file(ndpi_info_mod, "protos.txt"); if(fuzzed_data.ConsumeBool()) - ndpi_load_categories_file(ndpi_info_mod, "categories.txt", NULL); + ndpi_load_protocols_file(ndpi_info_mod, fuzzed_data.ConsumeBool() ? NULL : "invalid_filename"); /* Error */ + if(fuzzed_data.ConsumeBool()) + ndpi_load_categories_file(ndpi_info_mod, "categories.txt", &cat_userdata); + if(fuzzed_data.ConsumeBool()) + ndpi_load_categories_file(ndpi_info_mod, fuzzed_data.ConsumeBool() ? NULL : "invalid_filename", &cat_userdata); /* Error */ if(fuzzed_data.ConsumeBool()) ndpi_load_risk_domain_file(ndpi_info_mod, "risky_domains.txt"); + if(fuzzed_data.ConsumeBool()) + ndpi_load_risk_domain_file(ndpi_info_mod, fuzzed_data.ConsumeBool() ? NULL : "invalid_filename"); /* Error */ if(fuzzed_data.ConsumeBool()) ndpi_load_malicious_ja3_file(ndpi_info_mod, "ja3_fingerprints.csv"); + if(fuzzed_data.ConsumeBool()) + ndpi_load_malicious_ja3_file(ndpi_info_mod, fuzzed_data.ConsumeBool() ? NULL : "invalid_filename"); /* Error */ if(fuzzed_data.ConsumeBool()) ndpi_load_malicious_sha1_file(ndpi_info_mod, "sha1_fingerprints.csv"); - /* Note that this function is not used by ndpiReader */ if(fuzzed_data.ConsumeBool()) + ndpi_load_malicious_sha1_file(ndpi_info_mod, fuzzed_data.ConsumeBool() ? NULL : "invalid_filename"); /* Error */ + if(fuzzed_data.ConsumeBool()) + ndpi_load_domain_suffixes(ndpi_info_mod, (char *)"public_suffix_list.dat"); + if(fuzzed_data.ConsumeBool()) + ndpi_load_domain_suffixes(ndpi_info_mod, fuzzed_data.ConsumeBool() ? NULL : (char *)"invalid_filename"); /* Error */ + /* Note that this function is not used by ndpiReader */ + if(fuzzed_data.ConsumeBool()) { + ndpi_load_ipv4_ptree(ndpi_info_mod, "invalid_filename", NDPI_PROTOCOL_TLS); ndpi_load_ipv4_ptree(ndpi_info_mod, "ipv4_addresses.txt", NDPI_PROTOCOL_TLS); + } /* TODO: stub for geo stuff */ ndpi_load_geoip(ndpi_info_mod, NULL, NULL); @@ -92,11 +109,13 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { value = fuzzed_data.ConsumeIntegralInRange(0, 365 + 1); sprintf(cfg_value, "%d", value); ndpi_set_config(ndpi_info_mod, "tls", "certificate_expiration_threshold", cfg_value); + ndpi_get_config(ndpi_info_mod, "tls", "certificate_expiration_threshold", cfg_value, sizeof(cfg_value)); } if(fuzzed_data.ConsumeBool()) { value = fuzzed_data.ConsumeIntegralInRange(0, 1 + 1); sprintf(cfg_value, "%d", value); ndpi_set_config(ndpi_info_mod, "tls", "application_blocks_tracking", cfg_value); + ndpi_get_config(ndpi_info_mod, "tls", "application_blocks_tracking", cfg_value, sizeof(cfg_value)); } if(fuzzed_data.ConsumeBool()) { value = fuzzed_data.ConsumeIntegralInRange(0, 1 + 1); @@ -152,6 +171,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { value = fuzzed_data.ConsumeIntegralInRange(0, 1 + 1); sprintf(cfg_value, "%d", value); ndpi_set_config(ndpi_info_mod, "any", "log", cfg_value); + ndpi_get_config(ndpi_info_mod, "any", "log", cfg_value, sizeof(cfg_value)); } for(i = 0; i < NDPI_MAX_SUPPORTED_PROTOCOLS; i++) { if(fuzzed_data.ConsumeBool()) { @@ -160,12 +180,14 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { sprintf(cfg_proto, "%d", i); /* TODO: we should try to map integer into name */ ndpi_set_config(ndpi_info_mod, cfg_proto, "log", cfg_value); + ndpi_get_config(ndpi_info_mod, cfg_proto, "log", cfg_value, sizeof(cfg_value)); } } if(fuzzed_data.ConsumeBool()) { value = fuzzed_data.ConsumeIntegralInRange(0, 1 + 1); sprintf(cfg_value, "%d", value); ndpi_set_config(ndpi_info_mod, "any", "ip_list.load", cfg_value); + ndpi_get_config(ndpi_info_mod, "any", "ip_list.load", cfg_value, sizeof(cfg_value)); } for(i = 0; i < NDPI_MAX_SUPPORTED_PROTOCOLS; i++) { if(fuzzed_data.ConsumeBool()) { @@ -173,6 +195,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { sprintf(cfg_value, "%d", value); sprintf(cfg_proto, "%d", i); ndpi_set_config(ndpi_info_mod, cfg_proto, "ip_list.load", cfg_value); + ndpi_get_config(ndpi_info_mod, cfg_proto, "ip_list.load", cfg_value, sizeof(cfg_value)); } } if(fuzzed_data.ConsumeBool()) { @@ -230,6 +253,10 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { sprintf(cfg_value, "%d", value); ndpi_set_config(ndpi_info_mod, NULL, "flow_risk.crawler_bot.list.load", cfg_value); } + if(fuzzed_data.ConsumeBool()) { + ndpi_set_config(ndpi_info_mod, NULL, "filename.config", fuzzed_data.ConsumeBool() ? NULL : (char *)"config.txt"); + ndpi_get_config(ndpi_info_mod, NULL, "filename.config", cfg_value, sizeof(cfg_value)); + } if(fuzzed_data.ConsumeBool()) { value = fuzzed_data.ConsumeIntegralInRange(0, 3 + 1); sprintf(cfg_value, "%d", value); @@ -323,9 +350,11 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { value = fuzzed_data.ConsumeIntegralInRange(0, 16777215 / 2); /* max / 2 instead of max + 1 to avoid oom on oss-fuzzer */ sprintf(cfg_param, "lru.%s.size", name); ndpi_set_config(ndpi_info_mod, NULL, cfg_param, cfg_value); + ndpi_get_config(ndpi_info_mod, NULL, cfg_param, cfg_value, sizeof(cfg_value)); value = fuzzed_data.ConsumeIntegralInRange(0, 16777215 + 1); sprintf(cfg_param, "lru.%s.ttl", name); ndpi_set_config(ndpi_info_mod, NULL, cfg_param, cfg_value); + ndpi_get_config(ndpi_info_mod, NULL, cfg_param, cfg_value, sizeof(cfg_value)); } } /* Invalid parameter */ @@ -333,13 +362,19 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { value = fuzzed_data.ConsumeIntegralInRange(0, 1 + 1); sprintf(cfg_value, "%d", value); ndpi_set_config(ndpi_info_mod, NULL, "foo", cfg_value); + ndpi_get_config(ndpi_info_mod, NULL, "foo", cfg_value, sizeof(cfg_value)); } /* Invalid value */ if(fuzzed_data.ConsumeBool()) { sprintf(cfg_value, "%s", "jjj"); ndpi_set_config(ndpi_info_mod, NULL, "lru.stun_zoom.ttl", cfg_value); + ndpi_get_config(ndpi_info_mod, NULL, "lru.stun_zoom.ttl", cfg_value, sizeof(cfg_value)); } + ndpi_add_host_risk_mask(ndpi_info_mod, + (char *)fuzzed_data.ConsumeBytesAsString(32).c_str(), + static_cast(fuzzed_data.ConsumeIntegral())); + ndpi_finalize_initialization(ndpi_info_mod); /* Random protocol configuration */ @@ -355,8 +390,26 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { ndpi_is_subprotocol_informative(ndpi_info_mod, pid); ndpi_get_proto_breed(ndpi_info_mod, pid); + ndpi_port_range d_port[MAX_DEFAULT_PORTS] = {}; + ndpi_set_proto_defaults(ndpi_info_mod, 0, 0, NDPI_PROTOCOL_SAFE, pid, + protoname, NDPI_PROTOCOL_CATEGORY_UNSPECIFIED, + d_port, d_port); + ndpi_get_proto_by_name(ndpi_info_mod, NULL); /* Error */ ndpi_get_proto_by_name(ndpi_info_mod, "foo"); /* Invalid protocol */ + ndpi_get_proto_name(ndpi_info_mod, pid); + ndpi_get_protocol_id(ndpi_info_mod, protoname); + + struct in_addr pin; + struct in6_addr pin6; + pin.s_addr = fuzzed_data.ConsumeIntegral(); + ndpi_network_port_ptree_match(ndpi_info_mod, &pin, fuzzed_data.ConsumeIntegral()); + for(i = 0; i < 16; i++) + pin6.s6_addr[i] = fuzzed_data.ConsumeIntegral(); + ndpi_network_port_ptree6_match(ndpi_info_mod, &pin6, fuzzed_data.ConsumeIntegral()); + + ndpi_get_host_domain_suffix(ndpi_info_mod, fuzzed_data.ConsumeBool() ? NULL : "www.bbc.co.uk"); + ndpi_get_host_domain(ndpi_info_mod, fuzzed_data.ConsumeBool() ? NULL : "www.bbc.co.uk"); /* Custom category configuration */ cat = fuzzed_data.ConsumeIntegralInRange(static_cast(NDPI_PROTOCOL_CATEGORY_CUSTOM_1), @@ -376,10 +429,10 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { ndpi_self_check_host_match(stdout); - ndpi_dump_protocols(ndpi_info_mod, stdout); - ndpi_generate_options(fuzzed_data.ConsumeIntegralInRange(0, 4), stdout); - ndpi_dump_risks_score(stdout); - ndpi_dump_config(ndpi_info_mod, stdout); + ndpi_dump_protocols(ndpi_info_mod, fuzzed_data.ConsumeBool() ? NULL : stdout); + ndpi_generate_options(fuzzed_data.ConsumeIntegralInRange(0, 4), fuzzed_data.ConsumeBool() ? NULL : stdout); + ndpi_dump_risks_score(fuzzed_data.ConsumeBool() ? NULL : stdout); + ndpi_dump_config(ndpi_info_mod, fuzzed_data.ConsumeBool() ? NULL : stdout); /* Basic code to try testing this "config" */ bool_value = fuzzed_data.ConsumeBool(); @@ -388,6 +441,12 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { memset(&flow, 0, sizeof(flow)); std::vectorpkt = fuzzed_data.ConsumeRemainingBytes(); + const u_int8_t *l4_return; + u_int16_t l4_len_return; + u_int8_t l4_protocol_return; + ndpi_detection_get_l4(pkt.data(), pkt.size(), &l4_return, &l4_len_return, &l4_protocol_return, NDPI_DETECTION_ONLY_IPV6); + ndpi_detection_get_l4(pkt.data(), pkt.size(), &l4_return, &l4_len_return, &l4_protocol_return, NDPI_DETECTION_ONLY_IPV4); + ndpi_detection_process_packet(ndpi_info_mod, &flow, pkt.data(), pkt.size(), 0, &input_info); p = ndpi_detection_giveup(ndpi_info_mod, &flow, &protocol_was_guessed); @@ -406,7 +465,6 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { ndpi_get_http_method(ndpi_info_mod, bool_value ? &flow : NULL); ndpi_get_http_url(ndpi_info_mod, &flow); ndpi_get_http_content_type(ndpi_info_mod, &flow); - check_for_email_address(ndpi_info_mod, 0); ndpi_get_flow_name(bool_value ? &flow : NULL); /* ndpi_guess_undetected_protocol() is a "strange" function. Try fuzzing it, here */ if(!ndpi_is_protocol_detected(ndpi_info_mod, p)) { @@ -423,7 +481,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { flow.c_address.v4, flow.c_port, flow.s_address.v4, flow.s_port); } else { - ndpi_find_ipv6_category_userdata(ndpi_info_mod, (struct in6_addr *)flow.c_address.v6); + ndpi_find_ipv6_category_userdata(ndpi_info_mod, bool_value ? NULL : (struct in6_addr *)flow.c_address.v6); } /* Another "strange" function: fuzz it here, for lack of a better alternative */ ndpi_search_tcp_or_udp(ndpi_info_mod, &flow); diff --git a/fuzz/fuzz_ds_ahocorasick.cpp b/fuzz/fuzz_ds_ahocorasick.cpp index 3333cad3e..949cc4b6d 100644 --- a/fuzz/fuzz_ds_ahocorasick.cpp +++ b/fuzz/fuzz_ds_ahocorasick.cpp @@ -23,6 +23,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { u_int16_t protocol_id; ndpi_protocol_category_t category; ndpi_protocol_breed_t breed; + u_int32_t unused; /* TODO: real string instead of random bytes */ @@ -120,7 +121,9 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { ndpi_free(value_dup); - ndpi_match_string(a2, (char *)value.c_str()); + ndpi_match_string(a2, fuzzed_data.ConsumeBool() ? NULL : (char *)value.c_str()); + ndpi_match_string_value(a2, fuzzed_data.ConsumeBool() ? NULL : (char *)value.c_str(), + strlen(value.c_str()), &unused); ndpi_match_string_protocol_id(a2, (char *)value.c_str(), strlen(value.c_str()), &protocol_id, &category, &breed); } @@ -133,6 +136,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { ac_automata_search(a, &ac_input_text, &match); ndpi_match_string(a2, value_added); + ndpi_match_string_value(a2, value_added, strlen(value_added), &unused); ndpi_match_string_protocol_id(a2, value_added, strlen(value_added), &protocol_id, &category, &breed); diff --git a/fuzz/fuzz_ds_patricia.cpp b/fuzz/fuzz_ds_patricia.cpp index 58e098b45..1bd2e2d0d 100644 --- a/fuzz/fuzz_ds_patricia.cpp +++ b/fuzz/fuzz_ds_patricia.cpp @@ -20,10 +20,11 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { u_int16_t i, num_iteration, ip_len; ndpi_patricia_tree_t *p, *p_cloned; u_int16_t maxbits; - int is_ipv6, is_added = 0; + int is_added = 0; ndpi_prefix_t prefix, prefix_added; u_char *ip; ndpi_patricia_node_t *node; + int tree_type; /* 0: ipv4, 1: ipv6, 2: mac */ /* Just to have some data */ if (fuzzed_data.remaining_bytes() < 1024) @@ -32,11 +33,13 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { /* To allow memory allocation failures */ fuzz_set_alloc_callbacks_and_seed(size); - is_ipv6 = fuzzed_data.ConsumeBool(); - if (is_ipv6) + tree_type = fuzzed_data.ConsumeIntegralInRange(0, 2); + if (tree_type == 0) + maxbits = 32; + else if (tree_type == 1) maxbits = 128; else - maxbits = 32; + maxbits = 48; p = ndpi_patricia_new(maxbits); @@ -47,7 +50,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { /* "Random" add */ num_iteration = fuzzed_data.ConsumeIntegral(); for (i = 0; i < num_iteration; i++) { - if (!is_ipv6) { + if (tree_type == 0) { if(fuzzed_data.remaining_bytes() > 4) { std::vectordata = fuzzed_data.ConsumeBytes(4); ip = data.data(); @@ -67,7 +70,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { assert(ndpi_patricia_get_node_u64(node) == 0); } } - } else { + } else if (tree_type == 1){ if(fuzzed_data.remaining_bytes() > 16) { std::vectordata = fuzzed_data.ConsumeBytes(16); ip = data.data(); @@ -87,6 +90,26 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { assert(ndpi_patricia_get_node_u64(node) == 0); } } + } else { + if(fuzzed_data.remaining_bytes() > 6) { + std::vectordata = fuzzed_data.ConsumeBytes(6); + ip = data.data(); + ip_len = fuzzed_data.ConsumeIntegralInRange(0, 49); /* 49 to force error */ + ndpi_fill_prefix_mac(&prefix, ip, ip_len, 48); + node = ndpi_patricia_lookup(p, &prefix); + /* Keep one random node really added */ + if (node && is_added == 0 && fuzzed_data.ConsumeBool()) { + is_added = 1; + prefix_added = prefix; + /* Some random operations on this node */ + ndpi_patricia_get_node_prefix(node); + ndpi_patricia_get_node_bits(node); + ndpi_patricia_set_node_data(node, NULL); + assert(ndpi_patricia_get_node_data(node) == NULL); + ndpi_patricia_set_node_u64(node, 0); + assert(ndpi_patricia_get_node_u64(node) == 0); + } + } } } @@ -96,7 +119,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { /* "Random" exact search. Remove if found */ num_iteration = fuzzed_data.ConsumeIntegral(); for (i = 0; i < num_iteration; i++) { - if (!is_ipv6) { + if (tree_type == 0) { if(fuzzed_data.remaining_bytes() > 4) { std::vectordata = fuzzed_data.ConsumeBytes(4); ip = data.data(); @@ -106,7 +129,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { if (node) ndpi_patricia_remove(p, node); } - } else { + } else if (tree_type == 1) { if(fuzzed_data.remaining_bytes() > 16) { std::vectordata = fuzzed_data.ConsumeBytes(16); ip = data.data(); @@ -116,7 +139,18 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { if (node) ndpi_patricia_remove(p, node); } + } else { + if(fuzzed_data.remaining_bytes() > 6) { + std::vectordata = fuzzed_data.ConsumeBytes(6); + ip = data.data(); + ip_len = fuzzed_data.ConsumeIntegralInRange(0, 48); + ndpi_fill_prefix_mac(&prefix, ip, ip_len, 48); + node = ndpi_patricia_search_exact(p, &prefix); + if (node) + ndpi_patricia_remove(p, node); + } } + } /* Exact search of an added node */ if (is_added) @@ -125,7 +159,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { /* "Random" best search. Remove if found */ num_iteration = fuzzed_data.ConsumeIntegral(); for (i = 0; i < num_iteration; i++) { - if (!is_ipv6) { + if (tree_type == 0) { if(fuzzed_data.remaining_bytes() > 4) { std::vectordata = fuzzed_data.ConsumeBytes(4); ip = data.data(); @@ -135,7 +169,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { if (node) ndpi_patricia_remove(p, node); } - } else { + } else if (tree_type == 1) { if(fuzzed_data.remaining_bytes() > 16) { std::vectordata = fuzzed_data.ConsumeBytes(16); ip = data.data(); @@ -145,6 +179,16 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { if (node) ndpi_patricia_remove(p, node); } + } else { + if(fuzzed_data.remaining_bytes() > 6) { + std::vectordata = fuzzed_data.ConsumeBytes(6); + ip = data.data(); + ip_len = fuzzed_data.ConsumeIntegralInRange(0, 48); + ndpi_fill_prefix_mac(&prefix, ip, ip_len, 48); + node = ndpi_patricia_search_best(p, &prefix); + if (node) + ndpi_patricia_remove(p, node); + } } } /* Best search of an added node */ diff --git a/fuzz/fuzz_filecfg_category.c b/fuzz/fuzz_filecfg_category.c new file mode 100644 index 000000000..757ada01f --- /dev/null +++ b/fuzz/fuzz_filecfg_category.c @@ -0,0 +1,27 @@ +#include "ndpi_api.h" +#include "ndpi_private.h" +#include "fuzz_common_code.h" + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + struct ndpi_detection_module_struct *ndpi_struct; + FILE *fd; + NDPI_PROTOCOL_BITMASK all; + + /* To allow memory allocation failures */ + fuzz_set_alloc_callbacks_and_seed(size); + + ndpi_struct = ndpi_init_detection_module(); + NDPI_BITMASK_SET_ALL(all); + ndpi_set_protocol_detection_bitmask2(ndpi_struct, &all); + + ndpi_set_config(ndpi_struct, NULL, "log.level", "3"); + ndpi_set_config(ndpi_struct, "all", "log", "1"); + + fd = buffer_to_file(data, size); + load_category_file_fd(ndpi_struct, fd, NDPI_PROTOCOL_CATEGORY_VOIP /* random category */); + if(fd) + fclose(fd); + + ndpi_exit_detection_module(ndpi_struct); + return 0; +} diff --git a/fuzz/ipv4_addresses.txt b/fuzz/ipv4_addresses.txt index 209765e5a..76065bd2a 100644 --- a/fuzz/ipv4_addresses.txt +++ b/fuzz/ipv4_addresses.txt @@ -3,4 +3,5 @@ 192.168.5.5 192.168.5.6/32 192.168.4.0/24 +192.168.4.1 -- cgit v1.2.3