From 9fc724de5a6539b84dfbec5d0d0fff68dc5676de Mon Sep 17 00:00:00 2001 From: Ivan Nardi <12729895+IvanNardi@users.noreply.github.com> Date: Wed, 25 Jan 2023 11:44:59 +0100 Subject: Add some fuzzers to test other data structures. (#1870) Start using a dictionary for fuzzing (see: https://llvm.org/docs/LibFuzzer.html#dictionaries). Remove some dead code. Fuzzing with debug enabled is not usually a great idea (from performance POV). Keep the code since it might be useful while debugging. --- fuzz/Makefile.am | 80 ++++++++++++++++- .../1c058ffec9481e8cdfda408b9fa7085e12993f63 | 1 + .../2a141aaf9ea071fd3b4e3d281c50a6374da29f3e | 1 + .../2aa3f89375e3ecbd22b1170a9066db2dbfca94b5 | 1 + .../3c722a326b6cee579b995354d0275c86f1c8410c | 1 + .../45e29e99716f52af087b34c1f09c253210172e16 | 1 + .../46dead9096cafd6fb8fa4f2c60012f3d041a20bd | 1 + .../4a8f2a58a6a4cbfc71faa980308fb7cc5ee1f4f0 | 1 + .../58e6b3a414a1e090dfc6029add0f3555ccba127f | 1 + .../63ca47311f24473a100f131ad9ae08128b169022 | 1 + .../753c246d759eb3bd906f929b77d86c8915a655f7 | 1 + .../82d71306d4eddb7279da80cd7c1be092b642eca8 | 1 + .../a478a85347f063f3f854f5d976c0196171270242 | 1 + .../acb348360f8e8b083fec3515d39f58e4cabecee7 | Bin 0 -> 15 bytes .../bb8face00f6b5c75a869f51b660c0f4995b36231 | 1 + .../c88c17fdae9667e8785ea750a50a5d7f3ca5b465 | 1 + .../ca4497abb2cc0324de9f909323ceffcb76f38fa3 | 1 + .../f8695f500111093908125cd6fdb13fed4eb33c6a | 1 + .../1249190e598bc25b8a9837818b3e1a4058ec41d3 | Bin 655 -> 0 bytes .../18f477174966a8c7da55285963d41aed0dc4662d | Bin 0 -> 620 bytes .../1b27923041cd9943fec04f9e795252294a140884 | Bin 0 -> 615 bytes .../29047258f7805691132b963a65cf521562335f5e | Bin 722 -> 0 bytes .../33106851bd86bc811f47f10de9c71c2caddc61e2 | Bin 626 -> 0 bytes .../429006ad0dd8e61198ea14fc50788cd9e48847b6 | Bin 655 -> 0 bytes .../4ba4d00c35a04e38b068a302460e295c1d2486a7 | Bin 0 -> 623 bytes .../4cee68be22b7d0d401aa891c1d713a0d81ec2e2e | Bin 0 -> 1003 bytes .../52837c2c4c6aa24222b75cd51517847722172adb | Bin 607 -> 0 bytes .../579120e2b849fa886d3e00e85da1aadaf012a530 | Bin 0 -> 620 bytes .../5d526bda3b5330598d39b61062e9f9d266f80841 | Bin 0 -> 609 bytes .../5e008f72d654de9bac626249dd3b621e3c40f6c2 | Bin 0 -> 619 bytes .../68f8e31473a59710033f435affdcd2f85879fce7 | Bin 0 -> 625 bytes .../8dfa9cd6f01cb29ccf987a4a33ecac5ff9125c82 | Bin 848 -> 0 bytes .../9220903d0d0062dfc7e070c8fdc32feb954feb25 | Bin 0 -> 621 bytes .../9e052a7a1d1f93f288978e7e313c4f324043b761 | Bin 730 -> 0 bytes .../a8a8d22febf3f4abe19bf2d27e584ba13d61feb5 | Bin 1003 -> 0 bytes .../c250a3cf6bf0cf8e0af836532e7b79ea917c10e4 | Bin 770 -> 0 bytes .../c4e100d34b144a24af0c38f88db0dccba57381a2 | Bin 0 -> 634 bytes .../ccd00f1345fccd5b8435039f30fc6f27639029db | Bin 0 -> 741 bytes .../d4137e2962c892542ba841967f12bdca05eeed87 | Bin 771 -> 0 bytes .../d53736074744a1979226d90efbb79924941c06e0 | Bin 607 -> 0 bytes .../d874a185c26c951bf84d9a7d69e00ffb56b0e563 | Bin 0 -> 710 bytes .../042f4f0cc3101588368dba98dbf9e83e5422dbb5 | Bin 0 -> 2151 bytes .../1195eeb4e77fc5d9e98923031e5f2514b2c7f11e | Bin 0 -> 2066 bytes .../193fb5a96d5140d3b2b7e0ed6515dfd874db55c0 | Bin 0 -> 2048 bytes .../2d24f27e806d3cd6247645c98c00088b0560df11 | Bin 0 -> 2050 bytes .../2e07c4757014206f6f6e88a2ba355c4fba605e2b | Bin 0 -> 2048 bytes .../30636fd8ee97c7e63447fcd8eb87673db8bffdd7 | Bin 0 -> 2048 bytes .../35f711e75ad500d3c3b2bee6bf6002d7fe904504 | Bin 0 -> 2049 bytes .../430602cc8cbe862d7e0ea35b0c5bbd8f6aa04c25 | Bin 0 -> 2048 bytes .../437dbd946ccefac6241585389edfcea153befb47 | Bin 0 -> 2048 bytes .../439afc909f7db6fbd9cbab21287f5787b5b74df0 | Bin 0 -> 2055 bytes .../4759489e6df5f544ccf8d11db20f86492da28f95 | Bin 0 -> 2048 bytes .../47f4f68c6df06e75b0cb95b7eaad6442867c2b5f | Bin 0 -> 2048 bytes .../58fa06dad3fc0bfe2c003be9d4aeb20f0c98e094 | Bin 0 -> 2048 bytes .../5dab7c5cf45eb3009d4598c699d7e63759d1c044 | Bin 0 -> 2051 bytes .../64f77a7541af6918e635060e1c9f35aa445be232 | Bin 0 -> 2063 bytes .../6ac48f313a6df6a4bf2c60e11e388efb131d5019 | Bin 0 -> 2048 bytes .../6d6fe95d7988b044fdeabaa1a4f7bf37def86f84 | Bin 0 -> 2058 bytes .../6dcc541470d09c89570f026647d821c00709cd7a | Bin 0 -> 2048 bytes .../6e1429b50784bd15641f7c44797a6168fe7e2da8 | Bin 0 -> 2048 bytes .../7001cc4fe58f171dc569d2d7ba13f5ec80c49aa5 | Bin 0 -> 2048 bytes .../7a856ff04e08b949f0ada3765dc766cb3e88ca9e | Bin 0 -> 2048 bytes .../7d2f1ef5f3a0ec3e17a54f944f1747d1c4ed6f56 | Bin 0 -> 2058 bytes .../8400bb7d51ebbc8951bb5eba1c4632b22adb27e0 | Bin 0 -> 2048 bytes .../8778f2315cb83c07caf86e15613364cea9b7a7de | Bin 0 -> 2048 bytes .../89d9a61ce34553dcc76128aceadf3868cc568523 | Bin 0 -> 2048 bytes .../8af1119b2f19d2689a0f9291ad2f7530b657661e | Bin 0 -> 2048 bytes .../8bb7c60c5df4ed28e3344e00abd5533e94aabb44 | Bin 0 -> 2049 bytes .../959da56c4aa24b9de1967eeb704c338757bc8375 | Bin 0 -> 2048 bytes .../9919fa67f71d64fe656b86a01785b69ad6a279c3 | Bin 0 -> 2048 bytes .../9d685ce7ee10169821ece3ab80a402e4ca26bcbf | Bin 0 -> 2048 bytes .../a68afdc36485e3328cf3d734763ac7e31d8ce271 | Bin 0 -> 2048 bytes .../a89e2c5c0a09a9e9f0372b17b383a1afb88dea5a | Bin 0 -> 2180 bytes .../a8cfc4b6af41a3c9fb1d642ef1d8c2a9794a77bf | Bin 0 -> 2048 bytes .../a9719df1432452970b16eb319b5b328fc42a2266 | Bin 0 -> 2062 bytes .../aac9f1b7d6ae3cb90e2760fb76166b09fcfbce4b | Bin 0 -> 2048 bytes .../ada1bdfc9721615f5fc3812cc4ea92c176393037 | Bin 0 -> 2048 bytes .../b037d479aafa2eedf46a8a0aefa9e4cdd01c1853 | Bin 0 -> 2048 bytes .../b1b941f3c1a9f7635599665ad5a517d0cefc1fa5 | Bin 0 -> 2048 bytes .../b5385caa5fbd90b326ecf22c51a7b1db4affeaf7 | Bin 0 -> 2048 bytes .../bb5055bb0dc17c1a174c4aac3a4af0a5f50453ae | Bin 0 -> 2048 bytes .../c15a1ae161422b9fdce9672604d63e78b5a94e9d | Bin 0 -> 2048 bytes .../c2c299509a4e90b969f896f23e6cb08dd74ecbee | Bin 0 -> 2063 bytes .../c6ba417c891b2ca29739e7149674e8c46f915d67 | Bin 0 -> 2068 bytes .../d2f13543462b2edbac303949218e786f569b92db | Bin 0 -> 2048 bytes .../db40d7abd8b1ccdf7a68b24c2c2ed35a0401505e | Bin 0 -> 2048 bytes .../dc371e73487929be909a7531c7d14822dfd22cb3 | Bin 0 -> 2048 bytes .../dd50425b220f157dc100fae7f7c68a71bb7250bd | Bin 0 -> 2048 bytes .../df03b2171ae3e1801e140f22f71db7d5b4b3c55a | Bin 0 -> 2048 bytes .../e0b52af1dcb172594da0afd2f126beb2ab6bdc4a | Bin 0 -> 2048 bytes .../e0c22f5deaea2aabbf8c1e28dd0d40290b415cf3 | Bin 0 -> 2048 bytes .../e3722d8da58d0405ca0c97d6355a238bdd990c73 | Bin 0 -> 2048 bytes .../e57e36bb120012b860b5c36f618e8013dd5c5897 | Bin 0 -> 2048 bytes .../e7a8b34fe6322d56fb4c6091958e5c829bef947e | Bin 0 -> 2048 bytes .../e959ef29ac238ffbdf20b01f8cdea3160781f35e | Bin 0 -> 2048 bytes .../ea2d6b2e65bfdb6e5170697309d66543bb15f3f8 | Bin 0 -> 2048 bytes .../f7c350a374e15a0aa9b7f0f53ea52f5cc3bb9d1a | Bin 0 -> 2050 bytes .../fca5ed57aa43ca3ed700dd7603af6bd90af4d399 | Bin 0 -> 2048 bytes .../01b014b146ea485e9c28e58ec5d0f3810186a81e | Bin 0 -> 1141 bytes .../021f72157ffa4da59637382fd9ee14780ef6986d | Bin 0 -> 1025 bytes .../0348a0c1cd260fc706fde509c9737d02f7808757 | Bin 0 -> 1031 bytes .../03fcea60dff1be565e2a9ebccca02296fb24ced0 | Bin 0 -> 1058 bytes .../0410c4f13abd2ac0be3d47da076620fbf54e9e06 | Bin 0 -> 1028 bytes .../05f2bf1721c39d6be215f3400f45f07d7c16d7c5 | Bin 0 -> 1029 bytes .../0696e1fef974d3020398c0645c7f5dd946898729 | Bin 0 -> 1024 bytes .../08c3863b148d3c71fcb4c04357b4f907f78ba3b0 | Bin 0 -> 1025 bytes .../09decc3fe52ee920308448b775e51270d0799634 | Bin 0 -> 1026 bytes .../0b19e4d2c5e4a46e34059098f069acf7f76cfcea | Bin 0 -> 1025 bytes .../198ae6bac21ab5be28e5fc511779419494c9fb99 | Bin 0 -> 1025 bytes .../1ce15b6859d8d0d4b5254dcbb4981252c510fa9f | Bin 0 -> 1036 bytes .../20c7e487a03376e9aee47466a79aa92ee242160c | Bin 0 -> 1026 bytes .../241b26ca01fa5bbb08b23913607309f5063017bd | Bin 0 -> 1024 bytes .../24cf5c21b413b0e45721eb80edc898cf6e5f95dd | Bin 0 -> 1024 bytes .../27bb822705fabbf14078bef7ed2d0433d82fdad1 | Bin 0 -> 1027 bytes .../29ffc26a0ce83f654710b5de2a597507fc5729dc | Bin 0 -> 1025 bytes .../2a0a2417d7a84b25f766e86673e47ec54fb00cbe | Bin 0 -> 1025 bytes .../2cafac567b408f64684f253a5b7b9a4b2e59568b | Bin 0 -> 1068 bytes .../33211be3cf6ed2000eb1d2c75adcc855ed33b8e4 | Bin 0 -> 1035 bytes .../3a74d9d9143e2f5df4ae9c51d4ee3e6cce73d4cf | Bin 0 -> 1024 bytes .../3caf90a302b81895258b6a355d4a91a6c07cb332 | Bin 0 -> 1029 bytes .../445082741fc8b6b486a198c23d86b885e6d14ce7 | Bin 0 -> 1025 bytes .../4978959b1a5996c384acf6a9bd14245625b66d46 | Bin 0 -> 1026 bytes .../4b5604ce8974b23a19948af1185f682c1e1ae8c1 | Bin 0 -> 1159 bytes .../51b2a0ef859f67c0dca37efea91b2a2e4ddc520c | Bin 0 -> 1027 bytes .../546c3bd16ec1d25eac5f1807b95bf57632a0542f | Bin 0 -> 1224 bytes .../583d48c2482fd1679a98c1748b31d07a87f06b55 | Bin 0 -> 1024 bytes .../591bd120f211dcffd75a4ac0529b847ed9945f57 | Bin 0 -> 1036 bytes .../5ee209f4deac4b64ede9a037ad33d271421a5146 | Bin 0 -> 1054 bytes .../6b2c2e41b2ca90992d615a3a7c580c5332610bfc | Bin 0 -> 1027 bytes .../75232df37bc7fd2864305542cfed6d5d050394b1 | Bin 0 -> 1092 bytes .../753305c57fbdd9c0eaf41e6abd9f74036eab4b60 | Bin 0 -> 1026 bytes .../78cc5b473811aa993c3b7c88ffbed05187b6cd99 | Bin 0 -> 1076 bytes .../7ac6b622dbe77fef5aa9f34f7170ed199ed1fd73 | Bin 0 -> 1026 bytes .../7b71687d14b357cc790e7855d92829c73f1caae5 | Bin 0 -> 1032 bytes .../7cdbbf403d12e497d96caa65d454d422167053d1 | Bin 0 -> 1025 bytes .../82f4a4e8d17333226fe80f2bce8ef37d33d8a8f0 | Bin 0 -> 1025 bytes .../8586c1e00b83a070b54db1672d29c6890f23174d | Bin 0 -> 1029 bytes .../8a555e581a4ed7164e311b75291d73a6a6aa25ce | Bin 0 -> 1024 bytes .../8b16f2f2917796d5becb502f540dbc1a77645614 | Bin 0 -> 1067 bytes .../904a157a101a0771744b115e726f45fde3eda4b8 | Bin 0 -> 1024 bytes .../90cf625aeb7846a5e9d860a9e920afb3e8657899 | Bin 0 -> 1024 bytes .../95402f0bd80b42926a317c1606747289428eeb96 | Bin 0 -> 1043 bytes .../96793225335720b78dd4de48be03aabe8487d533 | Bin 0 -> 1025 bytes .../985be9edded73c57832ed96828f93fbcf4b7bdbc | Bin 0 -> 1033 bytes .../9949825ec99cd8993cb6d3cf61b78f1daca002d9 | Bin 0 -> 1223 bytes .../9b01aca36cc45c533cc9b8a505af7a1696d622ec | Bin 0 -> 1084 bytes .../a17482d70812b76794e2a68373fe1aacb70bb983 | Bin 0 -> 1064 bytes .../a1c03aa549f9e6aef57b8f5503ec4b4c1329c7ba | Bin 0 -> 1058 bytes .../a80d8aae221736aa612f8a82b202f5fce0eb9500 | Bin 0 -> 1031 bytes .../aa5f590b2f8ae90f488320a5c0ce1664b6250141 | Bin 0 -> 1041 bytes .../aaf511006fc46ca08449d6f4988822988369725c | Bin 0 -> 1262 bytes .../ae84c8f1709ff8fcefae24ebc14ffbfeebca84a8 | Bin 0 -> 1024 bytes .../b422ce7e471537303b914cf709aeeb5997183e13 | Bin 0 -> 1040 bytes .../ba04de28b49c623e55bfd4782f2e02bdfe98f0ee | Bin 0 -> 1058 bytes .../bae61b9f18afd63d2b282bf4319679d5275370dc | Bin 0 -> 1032 bytes .../c5613508b05a5ce7495f6b7b5c1080715c9f94e1 | Bin 0 -> 1025 bytes .../c75804765207820234ad3053f61007ab0e4445b4 | Bin 0 -> 1024 bytes .../d05019c14442561387c50ba71c173140c1e0770f | Bin 0 -> 1027 bytes .../d5b7e460b128cc07b7dbe2f845e8692370f9e2ef | Bin 0 -> 1024 bytes .../e67f707ba8191170abba4703bb4f4192a0958939 | Bin 0 -> 1024 bytes .../ea4d4c2a8e91bd84473dac1e586d68d5c5451f5e | Bin 0 -> 1027 bytes .../eb386659c5a7aef8b95a191b90684d608d664a36 | Bin 0 -> 1114 bytes .../f0ba5409fa8e20e3220a2d12c9d9fe39cd2818d9 | Bin 0 -> 1024 bytes .../f18edcec12f7c8b5e1de7a43f3cb818677164e49 | Bin 0 -> 1030 bytes .../f3259e536d2e75e24770e3afabf98a70a2e08932 | Bin 0 -> 1024 bytes .../f4318383dfd035c660f6454b98e0ee85846e6f9d | Bin 0 -> 1027 bytes .../f45ab2dcdc5e5b00f36ba223500dde998ae877f2 | Bin 0 -> 1024 bytes .../fc82def89dce7a25407e29cb6553747e9dbefcb5 | Bin 0 -> 1024 bytes fuzz/dictionary.dict | 66 ++++++++++++++ fuzz/fuzz_alg_hw_rsi_outliers_da.cpp | 2 +- fuzz/fuzz_alg_ses_des.cpp | 2 +- fuzz/fuzz_common_code.c | 17 ++-- fuzz/fuzz_common_code.h | 3 +- fuzz/fuzz_community_id.cpp | 58 +++++++++++++ fuzz/fuzz_config.cpp | 16 ++-- fuzz/fuzz_ds_ahocorasick.cpp | 3 +- fuzz/fuzz_ds_libcache.cpp | 68 +++++++++++++++ fuzz/fuzz_ds_patricia.cpp | 4 +- fuzz/fuzz_ds_tree.cpp | 95 +++++++++++++++++++++ fuzz/fuzz_process_packet.c | 2 +- fuzz/fuzz_quic_get_crypto_data.c | 2 +- 181 files changed, 408 insertions(+), 26 deletions(-) create mode 100644 fuzz/corpus/fuzz_community_id/1c058ffec9481e8cdfda408b9fa7085e12993f63 create mode 100644 fuzz/corpus/fuzz_community_id/2a141aaf9ea071fd3b4e3d281c50a6374da29f3e create mode 100644 fuzz/corpus/fuzz_community_id/2aa3f89375e3ecbd22b1170a9066db2dbfca94b5 create mode 100644 fuzz/corpus/fuzz_community_id/3c722a326b6cee579b995354d0275c86f1c8410c create mode 100644 fuzz/corpus/fuzz_community_id/45e29e99716f52af087b34c1f09c253210172e16 create mode 100644 fuzz/corpus/fuzz_community_id/46dead9096cafd6fb8fa4f2c60012f3d041a20bd create mode 100644 fuzz/corpus/fuzz_community_id/4a8f2a58a6a4cbfc71faa980308fb7cc5ee1f4f0 create mode 100644 fuzz/corpus/fuzz_community_id/58e6b3a414a1e090dfc6029add0f3555ccba127f create mode 100644 fuzz/corpus/fuzz_community_id/63ca47311f24473a100f131ad9ae08128b169022 create mode 100644 fuzz/corpus/fuzz_community_id/753c246d759eb3bd906f929b77d86c8915a655f7 create mode 100644 fuzz/corpus/fuzz_community_id/82d71306d4eddb7279da80cd7c1be092b642eca8 create mode 100644 fuzz/corpus/fuzz_community_id/a478a85347f063f3f854f5d976c0196171270242 create mode 100644 fuzz/corpus/fuzz_community_id/acb348360f8e8b083fec3515d39f58e4cabecee7 create mode 100644 fuzz/corpus/fuzz_community_id/bb8face00f6b5c75a869f51b660c0f4995b36231 create mode 100644 fuzz/corpus/fuzz_community_id/c88c17fdae9667e8785ea750a50a5d7f3ca5b465 create mode 100644 fuzz/corpus/fuzz_community_id/ca4497abb2cc0324de9f909323ceffcb76f38fa3 create mode 100644 fuzz/corpus/fuzz_community_id/f8695f500111093908125cd6fdb13fed4eb33c6a delete mode 100644 fuzz/corpus/fuzz_config/1249190e598bc25b8a9837818b3e1a4058ec41d3 create mode 100644 fuzz/corpus/fuzz_config/18f477174966a8c7da55285963d41aed0dc4662d create mode 100644 fuzz/corpus/fuzz_config/1b27923041cd9943fec04f9e795252294a140884 delete mode 100644 fuzz/corpus/fuzz_config/29047258f7805691132b963a65cf521562335f5e delete mode 100644 fuzz/corpus/fuzz_config/33106851bd86bc811f47f10de9c71c2caddc61e2 delete mode 100644 fuzz/corpus/fuzz_config/429006ad0dd8e61198ea14fc50788cd9e48847b6 create mode 100644 fuzz/corpus/fuzz_config/4ba4d00c35a04e38b068a302460e295c1d2486a7 create mode 100644 fuzz/corpus/fuzz_config/4cee68be22b7d0d401aa891c1d713a0d81ec2e2e delete mode 100644 fuzz/corpus/fuzz_config/52837c2c4c6aa24222b75cd51517847722172adb create mode 100644 fuzz/corpus/fuzz_config/579120e2b849fa886d3e00e85da1aadaf012a530 create mode 100644 fuzz/corpus/fuzz_config/5d526bda3b5330598d39b61062e9f9d266f80841 create mode 100644 fuzz/corpus/fuzz_config/5e008f72d654de9bac626249dd3b621e3c40f6c2 create mode 100644 fuzz/corpus/fuzz_config/68f8e31473a59710033f435affdcd2f85879fce7 delete mode 100644 fuzz/corpus/fuzz_config/8dfa9cd6f01cb29ccf987a4a33ecac5ff9125c82 create mode 100644 fuzz/corpus/fuzz_config/9220903d0d0062dfc7e070c8fdc32feb954feb25 delete mode 100644 fuzz/corpus/fuzz_config/9e052a7a1d1f93f288978e7e313c4f324043b761 delete mode 100644 fuzz/corpus/fuzz_config/a8a8d22febf3f4abe19bf2d27e584ba13d61feb5 delete mode 100644 fuzz/corpus/fuzz_config/c250a3cf6bf0cf8e0af836532e7b79ea917c10e4 create mode 100644 fuzz/corpus/fuzz_config/c4e100d34b144a24af0c38f88db0dccba57381a2 create mode 100644 fuzz/corpus/fuzz_config/ccd00f1345fccd5b8435039f30fc6f27639029db delete mode 100644 fuzz/corpus/fuzz_config/d4137e2962c892542ba841967f12bdca05eeed87 delete mode 100644 fuzz/corpus/fuzz_config/d53736074744a1979226d90efbb79924941c06e0 create mode 100644 fuzz/corpus/fuzz_config/d874a185c26c951bf84d9a7d69e00ffb56b0e563 create mode 100644 fuzz/corpus/fuzz_ds_libcache/042f4f0cc3101588368dba98dbf9e83e5422dbb5 create mode 100644 fuzz/corpus/fuzz_ds_libcache/1195eeb4e77fc5d9e98923031e5f2514b2c7f11e create mode 100644 fuzz/corpus/fuzz_ds_libcache/193fb5a96d5140d3b2b7e0ed6515dfd874db55c0 create mode 100644 fuzz/corpus/fuzz_ds_libcache/2d24f27e806d3cd6247645c98c00088b0560df11 create mode 100644 fuzz/corpus/fuzz_ds_libcache/2e07c4757014206f6f6e88a2ba355c4fba605e2b create mode 100644 fuzz/corpus/fuzz_ds_libcache/30636fd8ee97c7e63447fcd8eb87673db8bffdd7 create mode 100644 fuzz/corpus/fuzz_ds_libcache/35f711e75ad500d3c3b2bee6bf6002d7fe904504 create mode 100644 fuzz/corpus/fuzz_ds_libcache/430602cc8cbe862d7e0ea35b0c5bbd8f6aa04c25 create mode 100644 fuzz/corpus/fuzz_ds_libcache/437dbd946ccefac6241585389edfcea153befb47 create mode 100644 fuzz/corpus/fuzz_ds_libcache/439afc909f7db6fbd9cbab21287f5787b5b74df0 create mode 100644 fuzz/corpus/fuzz_ds_libcache/4759489e6df5f544ccf8d11db20f86492da28f95 create mode 100644 fuzz/corpus/fuzz_ds_libcache/47f4f68c6df06e75b0cb95b7eaad6442867c2b5f create mode 100644 fuzz/corpus/fuzz_ds_libcache/58fa06dad3fc0bfe2c003be9d4aeb20f0c98e094 create mode 100644 fuzz/corpus/fuzz_ds_libcache/5dab7c5cf45eb3009d4598c699d7e63759d1c044 create mode 100644 fuzz/corpus/fuzz_ds_libcache/64f77a7541af6918e635060e1c9f35aa445be232 create mode 100644 fuzz/corpus/fuzz_ds_libcache/6ac48f313a6df6a4bf2c60e11e388efb131d5019 create mode 100644 fuzz/corpus/fuzz_ds_libcache/6d6fe95d7988b044fdeabaa1a4f7bf37def86f84 create mode 100644 fuzz/corpus/fuzz_ds_libcache/6dcc541470d09c89570f026647d821c00709cd7a create mode 100644 fuzz/corpus/fuzz_ds_libcache/6e1429b50784bd15641f7c44797a6168fe7e2da8 create mode 100644 fuzz/corpus/fuzz_ds_libcache/7001cc4fe58f171dc569d2d7ba13f5ec80c49aa5 create mode 100644 fuzz/corpus/fuzz_ds_libcache/7a856ff04e08b949f0ada3765dc766cb3e88ca9e create mode 100644 fuzz/corpus/fuzz_ds_libcache/7d2f1ef5f3a0ec3e17a54f944f1747d1c4ed6f56 create mode 100644 fuzz/corpus/fuzz_ds_libcache/8400bb7d51ebbc8951bb5eba1c4632b22adb27e0 create mode 100644 fuzz/corpus/fuzz_ds_libcache/8778f2315cb83c07caf86e15613364cea9b7a7de create mode 100644 fuzz/corpus/fuzz_ds_libcache/89d9a61ce34553dcc76128aceadf3868cc568523 create mode 100644 fuzz/corpus/fuzz_ds_libcache/8af1119b2f19d2689a0f9291ad2f7530b657661e create mode 100644 fuzz/corpus/fuzz_ds_libcache/8bb7c60c5df4ed28e3344e00abd5533e94aabb44 create mode 100644 fuzz/corpus/fuzz_ds_libcache/959da56c4aa24b9de1967eeb704c338757bc8375 create mode 100644 fuzz/corpus/fuzz_ds_libcache/9919fa67f71d64fe656b86a01785b69ad6a279c3 create mode 100644 fuzz/corpus/fuzz_ds_libcache/9d685ce7ee10169821ece3ab80a402e4ca26bcbf create mode 100644 fuzz/corpus/fuzz_ds_libcache/a68afdc36485e3328cf3d734763ac7e31d8ce271 create mode 100644 fuzz/corpus/fuzz_ds_libcache/a89e2c5c0a09a9e9f0372b17b383a1afb88dea5a create mode 100644 fuzz/corpus/fuzz_ds_libcache/a8cfc4b6af41a3c9fb1d642ef1d8c2a9794a77bf create mode 100644 fuzz/corpus/fuzz_ds_libcache/a9719df1432452970b16eb319b5b328fc42a2266 create mode 100644 fuzz/corpus/fuzz_ds_libcache/aac9f1b7d6ae3cb90e2760fb76166b09fcfbce4b create mode 100644 fuzz/corpus/fuzz_ds_libcache/ada1bdfc9721615f5fc3812cc4ea92c176393037 create mode 100644 fuzz/corpus/fuzz_ds_libcache/b037d479aafa2eedf46a8a0aefa9e4cdd01c1853 create mode 100644 fuzz/corpus/fuzz_ds_libcache/b1b941f3c1a9f7635599665ad5a517d0cefc1fa5 create mode 100644 fuzz/corpus/fuzz_ds_libcache/b5385caa5fbd90b326ecf22c51a7b1db4affeaf7 create mode 100644 fuzz/corpus/fuzz_ds_libcache/bb5055bb0dc17c1a174c4aac3a4af0a5f50453ae create mode 100644 fuzz/corpus/fuzz_ds_libcache/c15a1ae161422b9fdce9672604d63e78b5a94e9d create mode 100644 fuzz/corpus/fuzz_ds_libcache/c2c299509a4e90b969f896f23e6cb08dd74ecbee create mode 100644 fuzz/corpus/fuzz_ds_libcache/c6ba417c891b2ca29739e7149674e8c46f915d67 create mode 100644 fuzz/corpus/fuzz_ds_libcache/d2f13543462b2edbac303949218e786f569b92db create mode 100644 fuzz/corpus/fuzz_ds_libcache/db40d7abd8b1ccdf7a68b24c2c2ed35a0401505e create mode 100644 fuzz/corpus/fuzz_ds_libcache/dc371e73487929be909a7531c7d14822dfd22cb3 create mode 100644 fuzz/corpus/fuzz_ds_libcache/dd50425b220f157dc100fae7f7c68a71bb7250bd create mode 100644 fuzz/corpus/fuzz_ds_libcache/df03b2171ae3e1801e140f22f71db7d5b4b3c55a create mode 100644 fuzz/corpus/fuzz_ds_libcache/e0b52af1dcb172594da0afd2f126beb2ab6bdc4a create mode 100644 fuzz/corpus/fuzz_ds_libcache/e0c22f5deaea2aabbf8c1e28dd0d40290b415cf3 create mode 100644 fuzz/corpus/fuzz_ds_libcache/e3722d8da58d0405ca0c97d6355a238bdd990c73 create mode 100644 fuzz/corpus/fuzz_ds_libcache/e57e36bb120012b860b5c36f618e8013dd5c5897 create mode 100644 fuzz/corpus/fuzz_ds_libcache/e7a8b34fe6322d56fb4c6091958e5c829bef947e create mode 100644 fuzz/corpus/fuzz_ds_libcache/e959ef29ac238ffbdf20b01f8cdea3160781f35e create mode 100644 fuzz/corpus/fuzz_ds_libcache/ea2d6b2e65bfdb6e5170697309d66543bb15f3f8 create mode 100644 fuzz/corpus/fuzz_ds_libcache/f7c350a374e15a0aa9b7f0f53ea52f5cc3bb9d1a create mode 100644 fuzz/corpus/fuzz_ds_libcache/fca5ed57aa43ca3ed700dd7603af6bd90af4d399 create mode 100644 fuzz/corpus/fuzz_ds_tree/01b014b146ea485e9c28e58ec5d0f3810186a81e create mode 100644 fuzz/corpus/fuzz_ds_tree/021f72157ffa4da59637382fd9ee14780ef6986d create mode 100644 fuzz/corpus/fuzz_ds_tree/0348a0c1cd260fc706fde509c9737d02f7808757 create mode 100644 fuzz/corpus/fuzz_ds_tree/03fcea60dff1be565e2a9ebccca02296fb24ced0 create mode 100644 fuzz/corpus/fuzz_ds_tree/0410c4f13abd2ac0be3d47da076620fbf54e9e06 create mode 100644 fuzz/corpus/fuzz_ds_tree/05f2bf1721c39d6be215f3400f45f07d7c16d7c5 create mode 100644 fuzz/corpus/fuzz_ds_tree/0696e1fef974d3020398c0645c7f5dd946898729 create mode 100644 fuzz/corpus/fuzz_ds_tree/08c3863b148d3c71fcb4c04357b4f907f78ba3b0 create mode 100644 fuzz/corpus/fuzz_ds_tree/09decc3fe52ee920308448b775e51270d0799634 create mode 100644 fuzz/corpus/fuzz_ds_tree/0b19e4d2c5e4a46e34059098f069acf7f76cfcea create mode 100644 fuzz/corpus/fuzz_ds_tree/198ae6bac21ab5be28e5fc511779419494c9fb99 create mode 100644 fuzz/corpus/fuzz_ds_tree/1ce15b6859d8d0d4b5254dcbb4981252c510fa9f create mode 100644 fuzz/corpus/fuzz_ds_tree/20c7e487a03376e9aee47466a79aa92ee242160c create mode 100644 fuzz/corpus/fuzz_ds_tree/241b26ca01fa5bbb08b23913607309f5063017bd create mode 100644 fuzz/corpus/fuzz_ds_tree/24cf5c21b413b0e45721eb80edc898cf6e5f95dd create mode 100644 fuzz/corpus/fuzz_ds_tree/27bb822705fabbf14078bef7ed2d0433d82fdad1 create mode 100644 fuzz/corpus/fuzz_ds_tree/29ffc26a0ce83f654710b5de2a597507fc5729dc create mode 100644 fuzz/corpus/fuzz_ds_tree/2a0a2417d7a84b25f766e86673e47ec54fb00cbe create mode 100644 fuzz/corpus/fuzz_ds_tree/2cafac567b408f64684f253a5b7b9a4b2e59568b create mode 100644 fuzz/corpus/fuzz_ds_tree/33211be3cf6ed2000eb1d2c75adcc855ed33b8e4 create mode 100644 fuzz/corpus/fuzz_ds_tree/3a74d9d9143e2f5df4ae9c51d4ee3e6cce73d4cf create mode 100644 fuzz/corpus/fuzz_ds_tree/3caf90a302b81895258b6a355d4a91a6c07cb332 create mode 100644 fuzz/corpus/fuzz_ds_tree/445082741fc8b6b486a198c23d86b885e6d14ce7 create mode 100644 fuzz/corpus/fuzz_ds_tree/4978959b1a5996c384acf6a9bd14245625b66d46 create mode 100644 fuzz/corpus/fuzz_ds_tree/4b5604ce8974b23a19948af1185f682c1e1ae8c1 create mode 100644 fuzz/corpus/fuzz_ds_tree/51b2a0ef859f67c0dca37efea91b2a2e4ddc520c create mode 100644 fuzz/corpus/fuzz_ds_tree/546c3bd16ec1d25eac5f1807b95bf57632a0542f create mode 100644 fuzz/corpus/fuzz_ds_tree/583d48c2482fd1679a98c1748b31d07a87f06b55 create mode 100644 fuzz/corpus/fuzz_ds_tree/591bd120f211dcffd75a4ac0529b847ed9945f57 create mode 100644 fuzz/corpus/fuzz_ds_tree/5ee209f4deac4b64ede9a037ad33d271421a5146 create mode 100644 fuzz/corpus/fuzz_ds_tree/6b2c2e41b2ca90992d615a3a7c580c5332610bfc create mode 100644 fuzz/corpus/fuzz_ds_tree/75232df37bc7fd2864305542cfed6d5d050394b1 create mode 100644 fuzz/corpus/fuzz_ds_tree/753305c57fbdd9c0eaf41e6abd9f74036eab4b60 create mode 100644 fuzz/corpus/fuzz_ds_tree/78cc5b473811aa993c3b7c88ffbed05187b6cd99 create mode 100644 fuzz/corpus/fuzz_ds_tree/7ac6b622dbe77fef5aa9f34f7170ed199ed1fd73 create mode 100644 fuzz/corpus/fuzz_ds_tree/7b71687d14b357cc790e7855d92829c73f1caae5 create mode 100644 fuzz/corpus/fuzz_ds_tree/7cdbbf403d12e497d96caa65d454d422167053d1 create mode 100644 fuzz/corpus/fuzz_ds_tree/82f4a4e8d17333226fe80f2bce8ef37d33d8a8f0 create mode 100644 fuzz/corpus/fuzz_ds_tree/8586c1e00b83a070b54db1672d29c6890f23174d create mode 100644 fuzz/corpus/fuzz_ds_tree/8a555e581a4ed7164e311b75291d73a6a6aa25ce create mode 100644 fuzz/corpus/fuzz_ds_tree/8b16f2f2917796d5becb502f540dbc1a77645614 create mode 100644 fuzz/corpus/fuzz_ds_tree/904a157a101a0771744b115e726f45fde3eda4b8 create mode 100644 fuzz/corpus/fuzz_ds_tree/90cf625aeb7846a5e9d860a9e920afb3e8657899 create mode 100644 fuzz/corpus/fuzz_ds_tree/95402f0bd80b42926a317c1606747289428eeb96 create mode 100644 fuzz/corpus/fuzz_ds_tree/96793225335720b78dd4de48be03aabe8487d533 create mode 100644 fuzz/corpus/fuzz_ds_tree/985be9edded73c57832ed96828f93fbcf4b7bdbc create mode 100644 fuzz/corpus/fuzz_ds_tree/9949825ec99cd8993cb6d3cf61b78f1daca002d9 create mode 100644 fuzz/corpus/fuzz_ds_tree/9b01aca36cc45c533cc9b8a505af7a1696d622ec create mode 100644 fuzz/corpus/fuzz_ds_tree/a17482d70812b76794e2a68373fe1aacb70bb983 create mode 100644 fuzz/corpus/fuzz_ds_tree/a1c03aa549f9e6aef57b8f5503ec4b4c1329c7ba create mode 100644 fuzz/corpus/fuzz_ds_tree/a80d8aae221736aa612f8a82b202f5fce0eb9500 create mode 100644 fuzz/corpus/fuzz_ds_tree/aa5f590b2f8ae90f488320a5c0ce1664b6250141 create mode 100644 fuzz/corpus/fuzz_ds_tree/aaf511006fc46ca08449d6f4988822988369725c create mode 100644 fuzz/corpus/fuzz_ds_tree/ae84c8f1709ff8fcefae24ebc14ffbfeebca84a8 create mode 100644 fuzz/corpus/fuzz_ds_tree/b422ce7e471537303b914cf709aeeb5997183e13 create mode 100644 fuzz/corpus/fuzz_ds_tree/ba04de28b49c623e55bfd4782f2e02bdfe98f0ee create mode 100644 fuzz/corpus/fuzz_ds_tree/bae61b9f18afd63d2b282bf4319679d5275370dc create mode 100644 fuzz/corpus/fuzz_ds_tree/c5613508b05a5ce7495f6b7b5c1080715c9f94e1 create mode 100644 fuzz/corpus/fuzz_ds_tree/c75804765207820234ad3053f61007ab0e4445b4 create mode 100644 fuzz/corpus/fuzz_ds_tree/d05019c14442561387c50ba71c173140c1e0770f create mode 100644 fuzz/corpus/fuzz_ds_tree/d5b7e460b128cc07b7dbe2f845e8692370f9e2ef create mode 100644 fuzz/corpus/fuzz_ds_tree/e67f707ba8191170abba4703bb4f4192a0958939 create mode 100644 fuzz/corpus/fuzz_ds_tree/ea4d4c2a8e91bd84473dac1e586d68d5c5451f5e create mode 100644 fuzz/corpus/fuzz_ds_tree/eb386659c5a7aef8b95a191b90684d608d664a36 create mode 100644 fuzz/corpus/fuzz_ds_tree/f0ba5409fa8e20e3220a2d12c9d9fe39cd2818d9 create mode 100644 fuzz/corpus/fuzz_ds_tree/f18edcec12f7c8b5e1de7a43f3cb818677164e49 create mode 100644 fuzz/corpus/fuzz_ds_tree/f3259e536d2e75e24770e3afabf98a70a2e08932 create mode 100644 fuzz/corpus/fuzz_ds_tree/f4318383dfd035c660f6454b98e0ee85846e6f9d create mode 100644 fuzz/corpus/fuzz_ds_tree/f45ab2dcdc5e5b00f36ba223500dde998ae877f2 create mode 100644 fuzz/corpus/fuzz_ds_tree/fc82def89dce7a25407e29cb6553747e9dbefcb5 create mode 100644 fuzz/dictionary.dict create mode 100644 fuzz/fuzz_community_id.cpp create mode 100644 fuzz/fuzz_ds_libcache.cpp create mode 100644 fuzz/fuzz_ds_tree.cpp (limited to 'fuzz') diff --git a/fuzz/Makefile.am b/fuzz/Makefile.am index 062cddb4c..c16d083a6 100644 --- a/fuzz/Makefile.am +++ b/fuzz/Makefile.am @@ -1,8 +1,8 @@ -bin_PROGRAMS = fuzz_process_packet fuzz_ndpi_reader fuzz_ndpi_reader_alloc_fail fuzz_quic_get_crypto_data fuzz_config +bin_PROGRAMS = fuzz_process_packet fuzz_ndpi_reader fuzz_ndpi_reader_alloc_fail fuzz_quic_get_crypto_data fuzz_config fuzz_community_id #Alghoritms bin_PROGRAMS += fuzz_alg_bins fuzz_alg_hll fuzz_alg_hw_rsi_outliers_da fuzz_alg_jitter fuzz_alg_ses_des #Data structures -bin_PROGRAMS += fuzz_ds_patricia fuzz_ds_ahocorasick +bin_PROGRAMS += fuzz_ds_patricia fuzz_ds_ahocorasick fuzz_ds_libcache fuzz_ds_tree fuzz_process_packet_SOURCES = fuzz_process_packet.c fuzz_common_code.c fuzz_process_packet_CFLAGS = @NDPI_CFLAGS@ $(CXXFLAGS) @@ -71,6 +71,21 @@ fuzz_config_LINK=$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXX) @NDPI_CFLAGS@ $(AM_CXXFLAGS) $(CXXFLAGS) \ $(fuzz_config_LDFLAGS) @NDPI_LDFLAGS@ $(LDFLAGS) -o $@ +fuzz_community_id_SOURCES = fuzz_community_id.cpp fuzz_common_code.c +fuzz_community_id_CXXFLAGS = @NDPI_CFLAGS@ $(CXXFLAGS) -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION +fuzz_community_id_CFLAGS = @NDPI_CFLAGS@ $(CXXFLAGS) -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION +fuzz_community_id_LDADD = ../src/lib/libndpi.a $(ADDITIONAL_LIBS) +fuzz_community_id_LDFLAGS = $(LIBS) +if HAS_FUZZLDFLAGS +fuzz_community_id_CXXFLAGS += $(LIB_FUZZING_ENGINE) +fuzz_community_id_CFLAGS += $(LIB_FUZZING_ENGINE) +fuzz_community_id_LDFLAGS += $(LIB_FUZZING_ENGINE) +endif +# force usage of CXX for linker +fuzz_community_id_LINK=$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXX) @NDPI_CFLAGS@ $(AM_CXXFLAGS) $(CXXFLAGS) \ + $(fuzz_community_id_LDFLAGS) @NDPI_LDFLAGS@ $(LDFLAGS) -o $@ + fuzz_alg_bins_SOURCES = fuzz_alg_bins.cpp fuzz_common_code.c fuzz_alg_bins_CXXFLAGS = @NDPI_CFLAGS@ $(CXXFLAGS) -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION fuzz_alg_bins_CFLAGS = @NDPI_CFLAGS@ $(CXXFLAGS) -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION @@ -176,6 +191,36 @@ fuzz_ds_ahocorasick_LINK=$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXX) @NDPI_CFLAGS@ $(AM_CXXFLAGS) $(CXXFLAGS) \ $(fuzz_ds_ahocorasick_LDFLAGS) @NDPI_LDFLAGS@ $(LDFLAGS) -o $@ +fuzz_ds_libcache_SOURCES = fuzz_ds_libcache.cpp fuzz_common_code.c +fuzz_ds_libcache_CXXFLAGS = @NDPI_CFLAGS@ $(CXXFLAGS) -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION +fuzz_ds_libcache_CFLAGS = @NDPI_CFLAGS@ $(CXXFLAGS) -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION +fuzz_ds_libcache_LDADD = ../src/lib/libndpi.a $(ADDITIONAL_LIBS) +fuzz_ds_libcache_LDFLAGS = $(LIBS) +if HAS_FUZZLDFLAGS +fuzz_ds_libcache_CXXFLAGS += $(LIB_FUZZING_ENGINE) +fuzz_ds_libcache_CFLAGS += $(LIB_FUZZING_ENGINE) +fuzz_ds_libcache_LDFLAGS += $(LIB_FUZZING_ENGINE) +endif +# force usage of CXX for linker +fuzz_ds_libcache_LINK=$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXX) @NDPI_CFLAGS@ $(AM_CXXFLAGS) $(CXXFLAGS) \ + $(fuzz_ds_libcache_LDFLAGS) @NDPI_LDFLAGS@ $(LDFLAGS) -o $@ + +fuzz_ds_tree_SOURCES = fuzz_ds_tree.cpp fuzz_common_code.c +fuzz_ds_tree_CXXFLAGS = @NDPI_CFLAGS@ $(CXXFLAGS) -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION +fuzz_ds_tree_CFLAGS = @NDPI_CFLAGS@ $(CXXFLAGS) -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION +fuzz_ds_tree_LDADD = ../src/lib/libndpi.a $(ADDITIONAL_LIBS) +fuzz_ds_tree_LDFLAGS = $(LIBS) +if HAS_FUZZLDFLAGS +fuzz_ds_tree_CXXFLAGS += $(LIB_FUZZING_ENGINE) +fuzz_ds_tree_CFLAGS += $(LIB_FUZZING_ENGINE) +fuzz_ds_tree_LDFLAGS += $(LIB_FUZZING_ENGINE) +endif +# force usage of CXX for linker +fuzz_ds_tree_LINK=$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXX) @NDPI_CFLAGS@ $(AM_CXXFLAGS) $(CXXFLAGS) \ + $(fuzz_ds_tree_LDFLAGS) @NDPI_LDFLAGS@ $(LDFLAGS) -o $@ + # required for Google oss-fuzz # see https://github.com/google/oss-fuzz/tree/master/projects/ndpi @@ -197,6 +242,11 @@ files_corpus_fuzz_config := $(wildcard corpus/fuzz_config/*) fuzz_config_seed_corpus.zip: $(files_corpus_fuzz_config) zip -j fuzz_config_seed_corpus.zip $(files_corpus_fuzz_config) +files_corpus_fuzz_community_id := $(wildcard corpus/fuzz_community_id/*) + +fuzz_community_id_seed_corpus.zip: $(files_corpus_fuzz_community_id) + zip -j fuzz_community_id_seed_corpus.zip $(files_corpus_fuzz_community_id) + files_corpus_fuzz_ds_patricia := $(wildcard corpus/fuzz_ds_patricia/*) fuzz_ds_patricia_seed_corpus.zip: $(files_corpus_fuzz_ds_patricia) @@ -232,7 +282,25 @@ files_corpus_fuzz_alg_jitter := $(wildcard corpus/fuzz_alg_jitter/*) fuzz_alg_jitter_seed_corpus.zip: $(files_corpus_fuzz_alg_jitter) zip -j fuzz_alg_jitter_seed_corpus.zip $(files_corpus_fuzz_alg_jitter) -corpus: fuzz_ndpi_reader_seed_corpus.zip fuzz_ndpi_reader_alloc_fail_seed_corpus.zip fuzz_quic_get_crypto_data_seed_corpus.zip fuzz_config_seed_corpus.zip fuzz_ds_patricia_seed_corpus.zip fuzz_ds_ahocorasick_seed_corpus.zip fuzz_alg_ses_des_seed_corpus.zip fuzz_alg_hw_rsi_outliers_da_seed_corpus.zip fuzz_alg_bins_seed_corpus.zip fuzz_alg_hll_seed_corpus.zip fuzz_alg_jitter_seed_corpus.zip +files_corpus_fuzz_ds_libcache := $(wildcard corpus/fuzz_ds_libcache/*) + +fuzz_ds_libcache_seed_corpus.zip: $(files_corpus_fuzz_ds_libcache) + zip -j fuzz_ds_libcache_seed_corpus.zip $(files_corpus_fuzz_ds_libcache) + +files_corpus_fuzz_ds_tree := $(wildcard corpus/fuzz_ds_tree/*) + +fuzz_ds_tree_seed_corpus.zip: $(files_corpus_fuzz_ds_tree) + zip -j fuzz_ds_tree_seed_corpus.zip $(files_corpus_fuzz_ds_tree) + +corpus: fuzz_ndpi_reader_seed_corpus.zip fuzz_ndpi_reader_alloc_fail_seed_corpus.zip fuzz_quic_get_crypto_data_seed_corpus.zip fuzz_config_seed_corpus.zip fuzz_ds_patricia_seed_corpus.zip fuzz_ds_ahocorasick_seed_corpus.zip fuzz_alg_ses_des_seed_corpus.zip fuzz_alg_hw_rsi_outliers_da_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 + +#Create dictionaries exactly as expected by oss-fuzz. +#This way, if we need to change/update/add something, +#we don't need to update scripts in oss-fuzz repository +dictionaries: + cp dictionary.dict fuzz_ndpi_reader.dict + cp dictionary.dict fuzz_ndpi_reader_alloc_fail.dict + cp dictionary.dict fuzz_process_packet.dict distdir: find . -type d | xargs -I'{}' mkdir -p '$(distdir)/{}' @@ -240,14 +308,18 @@ distdir: -o -name '*.am' \ -o -name '*.h' \ -o -name '*.cpp' \ + -o -name '*.dict' \ -o -path './corpus/fuzz_quic_get_crypto_data/*' \ -o -path './corpus/fuzz_config/*' \ + -o -path './corpus/fuzz_community_id/*' \ -o -path './corpus/fuzz_alg_ses_des/*' \ -o -path './corpus/fuzz_alg_bins/*' \ -o -path './corpus/fuzz_alg_hll/*' \ -o -path './corpus/fuzz_alg_jitter/*' \ -o -path './corpus/fuzz_alg_hw_rsi_outliers_da/*' \ -o -path './corpus/fuzz_ds_ahocorasick/*' \ + -o -path './corpus/fuzz_ds_libcache/*' \ + -o -path './corpus/fuzz_ds_tree/*' \ -o -path './corpus/fuzz_ds_patricia/*' | xargs -I'{}' cp -r '{}' '$(distdir)/{}' -all: corpus +all: corpus dictionaries diff --git a/fuzz/corpus/fuzz_community_id/1c058ffec9481e8cdfda408b9fa7085e12993f63 b/fuzz/corpus/fuzz_community_id/1c058ffec9481e8cdfda408b9fa7085e12993f63 new file mode 100644 index 000000000..ab20ba6e9 --- /dev/null +++ b/fuzz/corpus/fuzz_community_id/1c058ffec9481e8cdfda408b9fa7085e12993f63 @@ -0,0 +1 @@ +šññšš \ No newline at end of file diff --git a/fuzz/corpus/fuzz_community_id/2a141aaf9ea071fd3b4e3d281c50a6374da29f3e b/fuzz/corpus/fuzz_community_id/2a141aaf9ea071fd3b4e3d281c50a6374da29f3e new file mode 100644 index 000000000..377d6f0f9 --- /dev/null +++ b/fuzz/corpus/fuzz_community_id/2a141aaf9ea071fd3b4e3d281c50a6374da29f3e @@ -0,0 +1 @@ +wwwwwwwš \ No newline at end of file diff --git a/fuzz/corpus/fuzz_community_id/2aa3f89375e3ecbd22b1170a9066db2dbfca94b5 b/fuzz/corpus/fuzz_community_id/2aa3f89375e3ecbd22b1170a9066db2dbfca94b5 new file mode 100644 index 000000000..406a91228 --- /dev/null +++ b/fuzz/corpus/fuzz_community_id/2aa3f89375e3ecbd22b1170a9066db2dbfca94b5 @@ -0,0 +1 @@ +š¦ˆˆˆˆˆññšš \ No newline at end of file diff --git a/fuzz/corpus/fuzz_community_id/3c722a326b6cee579b995354d0275c86f1c8410c b/fuzz/corpus/fuzz_community_id/3c722a326b6cee579b995354d0275c86f1c8410c new file mode 100644 index 000000000..ea472b385 --- /dev/null +++ b/fuzz/corpus/fuzz_community_id/3c722a326b6cee579b995354d0275c86f1c8410c @@ -0,0 +1 @@ +@š \ No newline at end of file diff --git a/fuzz/corpus/fuzz_community_id/45e29e99716f52af087b34c1f09c253210172e16 b/fuzz/corpus/fuzz_community_id/45e29e99716f52af087b34c1f09c253210172e16 new file mode 100644 index 000000000..fcee7b2a2 --- /dev/null +++ b/fuzz/corpus/fuzz_community_id/45e29e99716f52af087b34c1f09c253210172e16 @@ -0,0 +1 @@ +šñš \ No newline at end of file diff --git a/fuzz/corpus/fuzz_community_id/46dead9096cafd6fb8fa4f2c60012f3d041a20bd b/fuzz/corpus/fuzz_community_id/46dead9096cafd6fb8fa4f2c60012f3d041a20bd new file mode 100644 index 000000000..1975e92d9 --- /dev/null +++ b/fuzz/corpus/fuzz_community_id/46dead9096cafd6fb8fa4f2c60012f3d041a20bd @@ -0,0 +1 @@ +š'$š \ No newline at end of file diff --git a/fuzz/corpus/fuzz_community_id/4a8f2a58a6a4cbfc71faa980308fb7cc5ee1f4f0 b/fuzz/corpus/fuzz_community_id/4a8f2a58a6a4cbfc71faa980308fb7cc5ee1f4f0 new file mode 100644 index 000000000..8b13124d1 --- /dev/null +++ b/fuzz/corpus/fuzz_community_id/4a8f2a58a6a4cbfc71faa980308fb7cc5ee1f4f0 @@ -0,0 +1 @@ +fbå๹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹¹ \ No newline at end of file diff --git a/fuzz/corpus/fuzz_community_id/58e6b3a414a1e090dfc6029add0f3555ccba127f b/fuzz/corpus/fuzz_community_id/58e6b3a414a1e090dfc6029add0f3555ccba127f new file mode 100644 index 000000000..9cbe6ea56 --- /dev/null +++ b/fuzz/corpus/fuzz_community_id/58e6b3a414a1e090dfc6029add0f3555ccba127f @@ -0,0 +1 @@ +e \ No newline at end of file diff --git a/fuzz/corpus/fuzz_community_id/63ca47311f24473a100f131ad9ae08128b169022 b/fuzz/corpus/fuzz_community_id/63ca47311f24473a100f131ad9ae08128b169022 new file mode 100644 index 000000000..471fd986e --- /dev/null +++ b/fuzz/corpus/fuzz_community_id/63ca47311f24473a100f131ad9ae08128b169022 @@ -0,0 +1 @@ +šññ&šš \ No newline at end of file diff --git a/fuzz/corpus/fuzz_community_id/753c246d759eb3bd906f929b77d86c8915a655f7 b/fuzz/corpus/fuzz_community_id/753c246d759eb3bd906f929b77d86c8915a655f7 new file mode 100644 index 000000000..a85ba65c9 --- /dev/null +++ b/fuzz/corpus/fuzz_community_id/753c246d759eb3bd906f929b77d86c8915a655f7 @@ -0,0 +1 @@ +w*6666 \ No newline at end of file diff --git a/fuzz/corpus/fuzz_community_id/82d71306d4eddb7279da80cd7c1be092b642eca8 b/fuzz/corpus/fuzz_community_id/82d71306d4eddb7279da80cd7c1be092b642eca8 new file mode 100644 index 000000000..42017154c --- /dev/null +++ b/fuzz/corpus/fuzz_community_id/82d71306d4eddb7279da80cd7c1be092b642eca8 @@ -0,0 +1 @@ +6wwwww‚wš \ No newline at end of file diff --git a/fuzz/corpus/fuzz_community_id/a478a85347f063f3f854f5d976c0196171270242 b/fuzz/corpus/fuzz_community_id/a478a85347f063f3f854f5d976c0196171270242 new file mode 100644 index 000000000..afd26a70c --- /dev/null +++ b/fuzz/corpus/fuzz_community_id/a478a85347f063f3f854f5d976c0196171270242 @@ -0,0 +1 @@ +ÿÿÿÿÿÿQ \ No newline at end of file diff --git a/fuzz/corpus/fuzz_community_id/acb348360f8e8b083fec3515d39f58e4cabecee7 b/fuzz/corpus/fuzz_community_id/acb348360f8e8b083fec3515d39f58e4cabecee7 new file mode 100644 index 000000000..538f1e344 Binary files /dev/null and b/fuzz/corpus/fuzz_community_id/acb348360f8e8b083fec3515d39f58e4cabecee7 differ diff --git a/fuzz/corpus/fuzz_community_id/bb8face00f6b5c75a869f51b660c0f4995b36231 b/fuzz/corpus/fuzz_community_id/bb8face00f6b5c75a869f51b660c0f4995b36231 new file mode 100644 index 000000000..07e3211b0 --- /dev/null +++ b/fuzz/corpus/fuzz_community_id/bb8face00f6b5c75a869f51b660c0f4995b36231 @@ -0,0 +1 @@ +ž'$š¦ˆˆšˆˆxbb \ No newline at end of file diff --git a/fuzz/corpus/fuzz_community_id/c88c17fdae9667e8785ea750a50a5d7f3ca5b465 b/fuzz/corpus/fuzz_community_id/c88c17fdae9667e8785ea750a50a5d7f3ca5b465 new file mode 100644 index 000000000..64d4d01c7 --- /dev/null +++ b/fuzz/corpus/fuzz_community_id/c88c17fdae9667e8785ea750a50a5d7f3ca5b465 @@ -0,0 +1 @@ +š \ No newline at end of file diff --git a/fuzz/corpus/fuzz_community_id/ca4497abb2cc0324de9f909323ceffcb76f38fa3 b/fuzz/corpus/fuzz_community_id/ca4497abb2cc0324de9f909323ceffcb76f38fa3 new file mode 100644 index 000000000..adfae8dc1 --- /dev/null +++ b/fuzz/corpus/fuzz_community_id/ca4497abb2cc0324de9f909323ceffcb76f38fa3 @@ -0,0 +1 @@ +š \ No newline at end of file diff --git a/fuzz/corpus/fuzz_community_id/f8695f500111093908125cd6fdb13fed4eb33c6a b/fuzz/corpus/fuzz_community_id/f8695f500111093908125cd6fdb13fed4eb33c6a new file mode 100644 index 000000000..ed59e749d --- /dev/null +++ b/fuzz/corpus/fuzz_community_id/f8695f500111093908125cd6fdb13fed4eb33c6a @@ -0,0 +1 @@ +ÿÿÿÿÿÿÿÿÿÿš \ No newline at end of file diff --git a/fuzz/corpus/fuzz_config/1249190e598bc25b8a9837818b3e1a4058ec41d3 b/fuzz/corpus/fuzz_config/1249190e598bc25b8a9837818b3e1a4058ec41d3 deleted file mode 100644 index e4dceba51..000000000 Binary files a/fuzz/corpus/fuzz_config/1249190e598bc25b8a9837818b3e1a4058ec41d3 and /dev/null differ diff --git a/fuzz/corpus/fuzz_config/18f477174966a8c7da55285963d41aed0dc4662d b/fuzz/corpus/fuzz_config/18f477174966a8c7da55285963d41aed0dc4662d new file mode 100644 index 000000000..2b9a4184b Binary files /dev/null and b/fuzz/corpus/fuzz_config/18f477174966a8c7da55285963d41aed0dc4662d differ diff --git a/fuzz/corpus/fuzz_config/1b27923041cd9943fec04f9e795252294a140884 b/fuzz/corpus/fuzz_config/1b27923041cd9943fec04f9e795252294a140884 new file mode 100644 index 000000000..75427c8d2 Binary files /dev/null and b/fuzz/corpus/fuzz_config/1b27923041cd9943fec04f9e795252294a140884 differ diff --git a/fuzz/corpus/fuzz_config/29047258f7805691132b963a65cf521562335f5e b/fuzz/corpus/fuzz_config/29047258f7805691132b963a65cf521562335f5e deleted file mode 100644 index afc219a99..000000000 Binary files a/fuzz/corpus/fuzz_config/29047258f7805691132b963a65cf521562335f5e and /dev/null differ diff --git a/fuzz/corpus/fuzz_config/33106851bd86bc811f47f10de9c71c2caddc61e2 b/fuzz/corpus/fuzz_config/33106851bd86bc811f47f10de9c71c2caddc61e2 deleted file mode 100644 index ab6abf41d..000000000 Binary files a/fuzz/corpus/fuzz_config/33106851bd86bc811f47f10de9c71c2caddc61e2 and /dev/null differ diff --git a/fuzz/corpus/fuzz_config/429006ad0dd8e61198ea14fc50788cd9e48847b6 b/fuzz/corpus/fuzz_config/429006ad0dd8e61198ea14fc50788cd9e48847b6 deleted file mode 100644 index caa9d052d..000000000 Binary files a/fuzz/corpus/fuzz_config/429006ad0dd8e61198ea14fc50788cd9e48847b6 and /dev/null differ diff --git a/fuzz/corpus/fuzz_config/4ba4d00c35a04e38b068a302460e295c1d2486a7 b/fuzz/corpus/fuzz_config/4ba4d00c35a04e38b068a302460e295c1d2486a7 new file mode 100644 index 000000000..3d70ae0a2 Binary files /dev/null and b/fuzz/corpus/fuzz_config/4ba4d00c35a04e38b068a302460e295c1d2486a7 differ diff --git a/fuzz/corpus/fuzz_config/4cee68be22b7d0d401aa891c1d713a0d81ec2e2e b/fuzz/corpus/fuzz_config/4cee68be22b7d0d401aa891c1d713a0d81ec2e2e new file mode 100644 index 000000000..16bb6a156 Binary files /dev/null and b/fuzz/corpus/fuzz_config/4cee68be22b7d0d401aa891c1d713a0d81ec2e2e differ diff --git a/fuzz/corpus/fuzz_config/52837c2c4c6aa24222b75cd51517847722172adb b/fuzz/corpus/fuzz_config/52837c2c4c6aa24222b75cd51517847722172adb deleted file mode 100644 index 80a514701..000000000 Binary files a/fuzz/corpus/fuzz_config/52837c2c4c6aa24222b75cd51517847722172adb and /dev/null differ diff --git a/fuzz/corpus/fuzz_config/579120e2b849fa886d3e00e85da1aadaf012a530 b/fuzz/corpus/fuzz_config/579120e2b849fa886d3e00e85da1aadaf012a530 new file mode 100644 index 000000000..ad41b8e05 Binary files /dev/null and b/fuzz/corpus/fuzz_config/579120e2b849fa886d3e00e85da1aadaf012a530 differ diff --git a/fuzz/corpus/fuzz_config/5d526bda3b5330598d39b61062e9f9d266f80841 b/fuzz/corpus/fuzz_config/5d526bda3b5330598d39b61062e9f9d266f80841 new file mode 100644 index 000000000..a2b211283 Binary files /dev/null and b/fuzz/corpus/fuzz_config/5d526bda3b5330598d39b61062e9f9d266f80841 differ diff --git a/fuzz/corpus/fuzz_config/5e008f72d654de9bac626249dd3b621e3c40f6c2 b/fuzz/corpus/fuzz_config/5e008f72d654de9bac626249dd3b621e3c40f6c2 new file mode 100644 index 000000000..256a9bbeb Binary files /dev/null and b/fuzz/corpus/fuzz_config/5e008f72d654de9bac626249dd3b621e3c40f6c2 differ diff --git a/fuzz/corpus/fuzz_config/68f8e31473a59710033f435affdcd2f85879fce7 b/fuzz/corpus/fuzz_config/68f8e31473a59710033f435affdcd2f85879fce7 new file mode 100644 index 000000000..5efc68e92 Binary files /dev/null and b/fuzz/corpus/fuzz_config/68f8e31473a59710033f435affdcd2f85879fce7 differ diff --git a/fuzz/corpus/fuzz_config/8dfa9cd6f01cb29ccf987a4a33ecac5ff9125c82 b/fuzz/corpus/fuzz_config/8dfa9cd6f01cb29ccf987a4a33ecac5ff9125c82 deleted file mode 100644 index 061542d3c..000000000 Binary files a/fuzz/corpus/fuzz_config/8dfa9cd6f01cb29ccf987a4a33ecac5ff9125c82 and /dev/null differ diff --git a/fuzz/corpus/fuzz_config/9220903d0d0062dfc7e070c8fdc32feb954feb25 b/fuzz/corpus/fuzz_config/9220903d0d0062dfc7e070c8fdc32feb954feb25 new file mode 100644 index 000000000..8babbfb9c Binary files /dev/null and b/fuzz/corpus/fuzz_config/9220903d0d0062dfc7e070c8fdc32feb954feb25 differ diff --git a/fuzz/corpus/fuzz_config/9e052a7a1d1f93f288978e7e313c4f324043b761 b/fuzz/corpus/fuzz_config/9e052a7a1d1f93f288978e7e313c4f324043b761 deleted file mode 100644 index 1491c64d4..000000000 Binary files a/fuzz/corpus/fuzz_config/9e052a7a1d1f93f288978e7e313c4f324043b761 and /dev/null differ diff --git a/fuzz/corpus/fuzz_config/a8a8d22febf3f4abe19bf2d27e584ba13d61feb5 b/fuzz/corpus/fuzz_config/a8a8d22febf3f4abe19bf2d27e584ba13d61feb5 deleted file mode 100644 index 8b4dff1fc..000000000 Binary files a/fuzz/corpus/fuzz_config/a8a8d22febf3f4abe19bf2d27e584ba13d61feb5 and /dev/null differ diff --git a/fuzz/corpus/fuzz_config/c250a3cf6bf0cf8e0af836532e7b79ea917c10e4 b/fuzz/corpus/fuzz_config/c250a3cf6bf0cf8e0af836532e7b79ea917c10e4 deleted file mode 100644 index 8a9df65b2..000000000 Binary files a/fuzz/corpus/fuzz_config/c250a3cf6bf0cf8e0af836532e7b79ea917c10e4 and /dev/null differ diff --git a/fuzz/corpus/fuzz_config/c4e100d34b144a24af0c38f88db0dccba57381a2 b/fuzz/corpus/fuzz_config/c4e100d34b144a24af0c38f88db0dccba57381a2 new file mode 100644 index 000000000..43717d5f5 Binary files /dev/null and b/fuzz/corpus/fuzz_config/c4e100d34b144a24af0c38f88db0dccba57381a2 differ diff --git a/fuzz/corpus/fuzz_config/ccd00f1345fccd5b8435039f30fc6f27639029db b/fuzz/corpus/fuzz_config/ccd00f1345fccd5b8435039f30fc6f27639029db new file mode 100644 index 000000000..81d59ad0c Binary files /dev/null and b/fuzz/corpus/fuzz_config/ccd00f1345fccd5b8435039f30fc6f27639029db differ diff --git a/fuzz/corpus/fuzz_config/d4137e2962c892542ba841967f12bdca05eeed87 b/fuzz/corpus/fuzz_config/d4137e2962c892542ba841967f12bdca05eeed87 deleted file mode 100644 index 668337a67..000000000 Binary files a/fuzz/corpus/fuzz_config/d4137e2962c892542ba841967f12bdca05eeed87 and /dev/null differ diff --git a/fuzz/corpus/fuzz_config/d53736074744a1979226d90efbb79924941c06e0 b/fuzz/corpus/fuzz_config/d53736074744a1979226d90efbb79924941c06e0 deleted file mode 100644 index 2129831b7..000000000 Binary files a/fuzz/corpus/fuzz_config/d53736074744a1979226d90efbb79924941c06e0 and /dev/null differ diff --git a/fuzz/corpus/fuzz_config/d874a185c26c951bf84d9a7d69e00ffb56b0e563 b/fuzz/corpus/fuzz_config/d874a185c26c951bf84d9a7d69e00ffb56b0e563 new file mode 100644 index 000000000..7b92ee675 Binary files /dev/null and b/fuzz/corpus/fuzz_config/d874a185c26c951bf84d9a7d69e00ffb56b0e563 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/042f4f0cc3101588368dba98dbf9e83e5422dbb5 b/fuzz/corpus/fuzz_ds_libcache/042f4f0cc3101588368dba98dbf9e83e5422dbb5 new file mode 100644 index 000000000..30edd9ece Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/042f4f0cc3101588368dba98dbf9e83e5422dbb5 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/1195eeb4e77fc5d9e98923031e5f2514b2c7f11e b/fuzz/corpus/fuzz_ds_libcache/1195eeb4e77fc5d9e98923031e5f2514b2c7f11e new file mode 100644 index 000000000..594b2a8dc Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/1195eeb4e77fc5d9e98923031e5f2514b2c7f11e differ diff --git a/fuzz/corpus/fuzz_ds_libcache/193fb5a96d5140d3b2b7e0ed6515dfd874db55c0 b/fuzz/corpus/fuzz_ds_libcache/193fb5a96d5140d3b2b7e0ed6515dfd874db55c0 new file mode 100644 index 000000000..d23792dbb Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/193fb5a96d5140d3b2b7e0ed6515dfd874db55c0 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/2d24f27e806d3cd6247645c98c00088b0560df11 b/fuzz/corpus/fuzz_ds_libcache/2d24f27e806d3cd6247645c98c00088b0560df11 new file mode 100644 index 000000000..ad647fec4 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/2d24f27e806d3cd6247645c98c00088b0560df11 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/2e07c4757014206f6f6e88a2ba355c4fba605e2b b/fuzz/corpus/fuzz_ds_libcache/2e07c4757014206f6f6e88a2ba355c4fba605e2b new file mode 100644 index 000000000..8c410290b Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/2e07c4757014206f6f6e88a2ba355c4fba605e2b differ diff --git a/fuzz/corpus/fuzz_ds_libcache/30636fd8ee97c7e63447fcd8eb87673db8bffdd7 b/fuzz/corpus/fuzz_ds_libcache/30636fd8ee97c7e63447fcd8eb87673db8bffdd7 new file mode 100644 index 000000000..b103d6ab4 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/30636fd8ee97c7e63447fcd8eb87673db8bffdd7 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/35f711e75ad500d3c3b2bee6bf6002d7fe904504 b/fuzz/corpus/fuzz_ds_libcache/35f711e75ad500d3c3b2bee6bf6002d7fe904504 new file mode 100644 index 000000000..58b90fc85 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/35f711e75ad500d3c3b2bee6bf6002d7fe904504 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/430602cc8cbe862d7e0ea35b0c5bbd8f6aa04c25 b/fuzz/corpus/fuzz_ds_libcache/430602cc8cbe862d7e0ea35b0c5bbd8f6aa04c25 new file mode 100644 index 000000000..b23840072 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/430602cc8cbe862d7e0ea35b0c5bbd8f6aa04c25 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/437dbd946ccefac6241585389edfcea153befb47 b/fuzz/corpus/fuzz_ds_libcache/437dbd946ccefac6241585389edfcea153befb47 new file mode 100644 index 000000000..908066a77 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/437dbd946ccefac6241585389edfcea153befb47 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/439afc909f7db6fbd9cbab21287f5787b5b74df0 b/fuzz/corpus/fuzz_ds_libcache/439afc909f7db6fbd9cbab21287f5787b5b74df0 new file mode 100644 index 000000000..e920d92e6 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/439afc909f7db6fbd9cbab21287f5787b5b74df0 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/4759489e6df5f544ccf8d11db20f86492da28f95 b/fuzz/corpus/fuzz_ds_libcache/4759489e6df5f544ccf8d11db20f86492da28f95 new file mode 100644 index 000000000..2d6dcac14 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/4759489e6df5f544ccf8d11db20f86492da28f95 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/47f4f68c6df06e75b0cb95b7eaad6442867c2b5f b/fuzz/corpus/fuzz_ds_libcache/47f4f68c6df06e75b0cb95b7eaad6442867c2b5f new file mode 100644 index 000000000..5a0e17b7a Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/47f4f68c6df06e75b0cb95b7eaad6442867c2b5f differ diff --git a/fuzz/corpus/fuzz_ds_libcache/58fa06dad3fc0bfe2c003be9d4aeb20f0c98e094 b/fuzz/corpus/fuzz_ds_libcache/58fa06dad3fc0bfe2c003be9d4aeb20f0c98e094 new file mode 100644 index 000000000..efc0fa2c5 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/58fa06dad3fc0bfe2c003be9d4aeb20f0c98e094 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/5dab7c5cf45eb3009d4598c699d7e63759d1c044 b/fuzz/corpus/fuzz_ds_libcache/5dab7c5cf45eb3009d4598c699d7e63759d1c044 new file mode 100644 index 000000000..89591c330 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/5dab7c5cf45eb3009d4598c699d7e63759d1c044 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/64f77a7541af6918e635060e1c9f35aa445be232 b/fuzz/corpus/fuzz_ds_libcache/64f77a7541af6918e635060e1c9f35aa445be232 new file mode 100644 index 000000000..a7b41ccc7 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/64f77a7541af6918e635060e1c9f35aa445be232 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/6ac48f313a6df6a4bf2c60e11e388efb131d5019 b/fuzz/corpus/fuzz_ds_libcache/6ac48f313a6df6a4bf2c60e11e388efb131d5019 new file mode 100644 index 000000000..d35c3590e Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/6ac48f313a6df6a4bf2c60e11e388efb131d5019 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/6d6fe95d7988b044fdeabaa1a4f7bf37def86f84 b/fuzz/corpus/fuzz_ds_libcache/6d6fe95d7988b044fdeabaa1a4f7bf37def86f84 new file mode 100644 index 000000000..a18b2b5dc Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/6d6fe95d7988b044fdeabaa1a4f7bf37def86f84 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/6dcc541470d09c89570f026647d821c00709cd7a b/fuzz/corpus/fuzz_ds_libcache/6dcc541470d09c89570f026647d821c00709cd7a new file mode 100644 index 000000000..81a55633f Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/6dcc541470d09c89570f026647d821c00709cd7a differ diff --git a/fuzz/corpus/fuzz_ds_libcache/6e1429b50784bd15641f7c44797a6168fe7e2da8 b/fuzz/corpus/fuzz_ds_libcache/6e1429b50784bd15641f7c44797a6168fe7e2da8 new file mode 100644 index 000000000..8f75ebd78 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/6e1429b50784bd15641f7c44797a6168fe7e2da8 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/7001cc4fe58f171dc569d2d7ba13f5ec80c49aa5 b/fuzz/corpus/fuzz_ds_libcache/7001cc4fe58f171dc569d2d7ba13f5ec80c49aa5 new file mode 100644 index 000000000..4d2583635 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/7001cc4fe58f171dc569d2d7ba13f5ec80c49aa5 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/7a856ff04e08b949f0ada3765dc766cb3e88ca9e b/fuzz/corpus/fuzz_ds_libcache/7a856ff04e08b949f0ada3765dc766cb3e88ca9e new file mode 100644 index 000000000..20051650a Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/7a856ff04e08b949f0ada3765dc766cb3e88ca9e differ diff --git a/fuzz/corpus/fuzz_ds_libcache/7d2f1ef5f3a0ec3e17a54f944f1747d1c4ed6f56 b/fuzz/corpus/fuzz_ds_libcache/7d2f1ef5f3a0ec3e17a54f944f1747d1c4ed6f56 new file mode 100644 index 000000000..2ea5dd37c Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/7d2f1ef5f3a0ec3e17a54f944f1747d1c4ed6f56 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/8400bb7d51ebbc8951bb5eba1c4632b22adb27e0 b/fuzz/corpus/fuzz_ds_libcache/8400bb7d51ebbc8951bb5eba1c4632b22adb27e0 new file mode 100644 index 000000000..9bb5e8613 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/8400bb7d51ebbc8951bb5eba1c4632b22adb27e0 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/8778f2315cb83c07caf86e15613364cea9b7a7de b/fuzz/corpus/fuzz_ds_libcache/8778f2315cb83c07caf86e15613364cea9b7a7de new file mode 100644 index 000000000..d29b72d62 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/8778f2315cb83c07caf86e15613364cea9b7a7de differ diff --git a/fuzz/corpus/fuzz_ds_libcache/89d9a61ce34553dcc76128aceadf3868cc568523 b/fuzz/corpus/fuzz_ds_libcache/89d9a61ce34553dcc76128aceadf3868cc568523 new file mode 100644 index 000000000..e544ac808 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/89d9a61ce34553dcc76128aceadf3868cc568523 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/8af1119b2f19d2689a0f9291ad2f7530b657661e b/fuzz/corpus/fuzz_ds_libcache/8af1119b2f19d2689a0f9291ad2f7530b657661e new file mode 100644 index 000000000..081054586 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/8af1119b2f19d2689a0f9291ad2f7530b657661e differ diff --git a/fuzz/corpus/fuzz_ds_libcache/8bb7c60c5df4ed28e3344e00abd5533e94aabb44 b/fuzz/corpus/fuzz_ds_libcache/8bb7c60c5df4ed28e3344e00abd5533e94aabb44 new file mode 100644 index 000000000..dd2e624c2 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/8bb7c60c5df4ed28e3344e00abd5533e94aabb44 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/959da56c4aa24b9de1967eeb704c338757bc8375 b/fuzz/corpus/fuzz_ds_libcache/959da56c4aa24b9de1967eeb704c338757bc8375 new file mode 100644 index 000000000..7bba71cfc Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/959da56c4aa24b9de1967eeb704c338757bc8375 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/9919fa67f71d64fe656b86a01785b69ad6a279c3 b/fuzz/corpus/fuzz_ds_libcache/9919fa67f71d64fe656b86a01785b69ad6a279c3 new file mode 100644 index 000000000..d4bdb8676 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/9919fa67f71d64fe656b86a01785b69ad6a279c3 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/9d685ce7ee10169821ece3ab80a402e4ca26bcbf b/fuzz/corpus/fuzz_ds_libcache/9d685ce7ee10169821ece3ab80a402e4ca26bcbf new file mode 100644 index 000000000..638ae8c6b Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/9d685ce7ee10169821ece3ab80a402e4ca26bcbf differ diff --git a/fuzz/corpus/fuzz_ds_libcache/a68afdc36485e3328cf3d734763ac7e31d8ce271 b/fuzz/corpus/fuzz_ds_libcache/a68afdc36485e3328cf3d734763ac7e31d8ce271 new file mode 100644 index 000000000..8700c83ef Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/a68afdc36485e3328cf3d734763ac7e31d8ce271 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/a89e2c5c0a09a9e9f0372b17b383a1afb88dea5a b/fuzz/corpus/fuzz_ds_libcache/a89e2c5c0a09a9e9f0372b17b383a1afb88dea5a new file mode 100644 index 000000000..6e44f250c Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/a89e2c5c0a09a9e9f0372b17b383a1afb88dea5a differ diff --git a/fuzz/corpus/fuzz_ds_libcache/a8cfc4b6af41a3c9fb1d642ef1d8c2a9794a77bf b/fuzz/corpus/fuzz_ds_libcache/a8cfc4b6af41a3c9fb1d642ef1d8c2a9794a77bf new file mode 100644 index 000000000..88494ea4f Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/a8cfc4b6af41a3c9fb1d642ef1d8c2a9794a77bf differ diff --git a/fuzz/corpus/fuzz_ds_libcache/a9719df1432452970b16eb319b5b328fc42a2266 b/fuzz/corpus/fuzz_ds_libcache/a9719df1432452970b16eb319b5b328fc42a2266 new file mode 100644 index 000000000..5bea9bd00 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/a9719df1432452970b16eb319b5b328fc42a2266 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/aac9f1b7d6ae3cb90e2760fb76166b09fcfbce4b b/fuzz/corpus/fuzz_ds_libcache/aac9f1b7d6ae3cb90e2760fb76166b09fcfbce4b new file mode 100644 index 000000000..b98ed636c Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/aac9f1b7d6ae3cb90e2760fb76166b09fcfbce4b differ diff --git a/fuzz/corpus/fuzz_ds_libcache/ada1bdfc9721615f5fc3812cc4ea92c176393037 b/fuzz/corpus/fuzz_ds_libcache/ada1bdfc9721615f5fc3812cc4ea92c176393037 new file mode 100644 index 000000000..a981f2ba8 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/ada1bdfc9721615f5fc3812cc4ea92c176393037 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/b037d479aafa2eedf46a8a0aefa9e4cdd01c1853 b/fuzz/corpus/fuzz_ds_libcache/b037d479aafa2eedf46a8a0aefa9e4cdd01c1853 new file mode 100644 index 000000000..220f370e2 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/b037d479aafa2eedf46a8a0aefa9e4cdd01c1853 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/b1b941f3c1a9f7635599665ad5a517d0cefc1fa5 b/fuzz/corpus/fuzz_ds_libcache/b1b941f3c1a9f7635599665ad5a517d0cefc1fa5 new file mode 100644 index 000000000..01defa2a3 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/b1b941f3c1a9f7635599665ad5a517d0cefc1fa5 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/b5385caa5fbd90b326ecf22c51a7b1db4affeaf7 b/fuzz/corpus/fuzz_ds_libcache/b5385caa5fbd90b326ecf22c51a7b1db4affeaf7 new file mode 100644 index 000000000..2f518be4b Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/b5385caa5fbd90b326ecf22c51a7b1db4affeaf7 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/bb5055bb0dc17c1a174c4aac3a4af0a5f50453ae b/fuzz/corpus/fuzz_ds_libcache/bb5055bb0dc17c1a174c4aac3a4af0a5f50453ae new file mode 100644 index 000000000..a2e6d75a9 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/bb5055bb0dc17c1a174c4aac3a4af0a5f50453ae differ diff --git a/fuzz/corpus/fuzz_ds_libcache/c15a1ae161422b9fdce9672604d63e78b5a94e9d b/fuzz/corpus/fuzz_ds_libcache/c15a1ae161422b9fdce9672604d63e78b5a94e9d new file mode 100644 index 000000000..88eee758c Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/c15a1ae161422b9fdce9672604d63e78b5a94e9d differ diff --git a/fuzz/corpus/fuzz_ds_libcache/c2c299509a4e90b969f896f23e6cb08dd74ecbee b/fuzz/corpus/fuzz_ds_libcache/c2c299509a4e90b969f896f23e6cb08dd74ecbee new file mode 100644 index 000000000..2db9b2545 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/c2c299509a4e90b969f896f23e6cb08dd74ecbee differ diff --git a/fuzz/corpus/fuzz_ds_libcache/c6ba417c891b2ca29739e7149674e8c46f915d67 b/fuzz/corpus/fuzz_ds_libcache/c6ba417c891b2ca29739e7149674e8c46f915d67 new file mode 100644 index 000000000..727448004 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/c6ba417c891b2ca29739e7149674e8c46f915d67 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/d2f13543462b2edbac303949218e786f569b92db b/fuzz/corpus/fuzz_ds_libcache/d2f13543462b2edbac303949218e786f569b92db new file mode 100644 index 000000000..5708960ff Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/d2f13543462b2edbac303949218e786f569b92db differ diff --git a/fuzz/corpus/fuzz_ds_libcache/db40d7abd8b1ccdf7a68b24c2c2ed35a0401505e b/fuzz/corpus/fuzz_ds_libcache/db40d7abd8b1ccdf7a68b24c2c2ed35a0401505e new file mode 100644 index 000000000..49ea02036 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/db40d7abd8b1ccdf7a68b24c2c2ed35a0401505e differ diff --git a/fuzz/corpus/fuzz_ds_libcache/dc371e73487929be909a7531c7d14822dfd22cb3 b/fuzz/corpus/fuzz_ds_libcache/dc371e73487929be909a7531c7d14822dfd22cb3 new file mode 100644 index 000000000..cfa151a46 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/dc371e73487929be909a7531c7d14822dfd22cb3 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/dd50425b220f157dc100fae7f7c68a71bb7250bd b/fuzz/corpus/fuzz_ds_libcache/dd50425b220f157dc100fae7f7c68a71bb7250bd new file mode 100644 index 000000000..95d429c31 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/dd50425b220f157dc100fae7f7c68a71bb7250bd differ diff --git a/fuzz/corpus/fuzz_ds_libcache/df03b2171ae3e1801e140f22f71db7d5b4b3c55a b/fuzz/corpus/fuzz_ds_libcache/df03b2171ae3e1801e140f22f71db7d5b4b3c55a new file mode 100644 index 000000000..2fd82b4c4 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/df03b2171ae3e1801e140f22f71db7d5b4b3c55a differ diff --git a/fuzz/corpus/fuzz_ds_libcache/e0b52af1dcb172594da0afd2f126beb2ab6bdc4a b/fuzz/corpus/fuzz_ds_libcache/e0b52af1dcb172594da0afd2f126beb2ab6bdc4a new file mode 100644 index 000000000..e8f944bf0 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/e0b52af1dcb172594da0afd2f126beb2ab6bdc4a differ diff --git a/fuzz/corpus/fuzz_ds_libcache/e0c22f5deaea2aabbf8c1e28dd0d40290b415cf3 b/fuzz/corpus/fuzz_ds_libcache/e0c22f5deaea2aabbf8c1e28dd0d40290b415cf3 new file mode 100644 index 000000000..37321fc5c Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/e0c22f5deaea2aabbf8c1e28dd0d40290b415cf3 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/e3722d8da58d0405ca0c97d6355a238bdd990c73 b/fuzz/corpus/fuzz_ds_libcache/e3722d8da58d0405ca0c97d6355a238bdd990c73 new file mode 100644 index 000000000..13d82e23e Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/e3722d8da58d0405ca0c97d6355a238bdd990c73 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/e57e36bb120012b860b5c36f618e8013dd5c5897 b/fuzz/corpus/fuzz_ds_libcache/e57e36bb120012b860b5c36f618e8013dd5c5897 new file mode 100644 index 000000000..d39549689 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/e57e36bb120012b860b5c36f618e8013dd5c5897 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/e7a8b34fe6322d56fb4c6091958e5c829bef947e b/fuzz/corpus/fuzz_ds_libcache/e7a8b34fe6322d56fb4c6091958e5c829bef947e new file mode 100644 index 000000000..41d6434e0 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/e7a8b34fe6322d56fb4c6091958e5c829bef947e differ diff --git a/fuzz/corpus/fuzz_ds_libcache/e959ef29ac238ffbdf20b01f8cdea3160781f35e b/fuzz/corpus/fuzz_ds_libcache/e959ef29ac238ffbdf20b01f8cdea3160781f35e new file mode 100644 index 000000000..31aa9f24c Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/e959ef29ac238ffbdf20b01f8cdea3160781f35e differ diff --git a/fuzz/corpus/fuzz_ds_libcache/ea2d6b2e65bfdb6e5170697309d66543bb15f3f8 b/fuzz/corpus/fuzz_ds_libcache/ea2d6b2e65bfdb6e5170697309d66543bb15f3f8 new file mode 100644 index 000000000..2d6e284db Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/ea2d6b2e65bfdb6e5170697309d66543bb15f3f8 differ diff --git a/fuzz/corpus/fuzz_ds_libcache/f7c350a374e15a0aa9b7f0f53ea52f5cc3bb9d1a b/fuzz/corpus/fuzz_ds_libcache/f7c350a374e15a0aa9b7f0f53ea52f5cc3bb9d1a new file mode 100644 index 000000000..3726089c9 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/f7c350a374e15a0aa9b7f0f53ea52f5cc3bb9d1a differ diff --git a/fuzz/corpus/fuzz_ds_libcache/fca5ed57aa43ca3ed700dd7603af6bd90af4d399 b/fuzz/corpus/fuzz_ds_libcache/fca5ed57aa43ca3ed700dd7603af6bd90af4d399 new file mode 100644 index 000000000..f25414be0 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_libcache/fca5ed57aa43ca3ed700dd7603af6bd90af4d399 differ diff --git a/fuzz/corpus/fuzz_ds_tree/01b014b146ea485e9c28e58ec5d0f3810186a81e b/fuzz/corpus/fuzz_ds_tree/01b014b146ea485e9c28e58ec5d0f3810186a81e new file mode 100644 index 000000000..9bb1c1d20 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/01b014b146ea485e9c28e58ec5d0f3810186a81e differ diff --git a/fuzz/corpus/fuzz_ds_tree/021f72157ffa4da59637382fd9ee14780ef6986d b/fuzz/corpus/fuzz_ds_tree/021f72157ffa4da59637382fd9ee14780ef6986d new file mode 100644 index 000000000..f0b8c0704 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/021f72157ffa4da59637382fd9ee14780ef6986d differ diff --git a/fuzz/corpus/fuzz_ds_tree/0348a0c1cd260fc706fde509c9737d02f7808757 b/fuzz/corpus/fuzz_ds_tree/0348a0c1cd260fc706fde509c9737d02f7808757 new file mode 100644 index 000000000..712f952c0 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/0348a0c1cd260fc706fde509c9737d02f7808757 differ diff --git a/fuzz/corpus/fuzz_ds_tree/03fcea60dff1be565e2a9ebccca02296fb24ced0 b/fuzz/corpus/fuzz_ds_tree/03fcea60dff1be565e2a9ebccca02296fb24ced0 new file mode 100644 index 000000000..1f5dbf8b3 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/03fcea60dff1be565e2a9ebccca02296fb24ced0 differ diff --git a/fuzz/corpus/fuzz_ds_tree/0410c4f13abd2ac0be3d47da076620fbf54e9e06 b/fuzz/corpus/fuzz_ds_tree/0410c4f13abd2ac0be3d47da076620fbf54e9e06 new file mode 100644 index 000000000..808beb78c Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/0410c4f13abd2ac0be3d47da076620fbf54e9e06 differ diff --git a/fuzz/corpus/fuzz_ds_tree/05f2bf1721c39d6be215f3400f45f07d7c16d7c5 b/fuzz/corpus/fuzz_ds_tree/05f2bf1721c39d6be215f3400f45f07d7c16d7c5 new file mode 100644 index 000000000..5ff45aec8 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/05f2bf1721c39d6be215f3400f45f07d7c16d7c5 differ diff --git a/fuzz/corpus/fuzz_ds_tree/0696e1fef974d3020398c0645c7f5dd946898729 b/fuzz/corpus/fuzz_ds_tree/0696e1fef974d3020398c0645c7f5dd946898729 new file mode 100644 index 000000000..73ebd2a4d Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/0696e1fef974d3020398c0645c7f5dd946898729 differ diff --git a/fuzz/corpus/fuzz_ds_tree/08c3863b148d3c71fcb4c04357b4f907f78ba3b0 b/fuzz/corpus/fuzz_ds_tree/08c3863b148d3c71fcb4c04357b4f907f78ba3b0 new file mode 100644 index 000000000..b8ade60af Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/08c3863b148d3c71fcb4c04357b4f907f78ba3b0 differ diff --git a/fuzz/corpus/fuzz_ds_tree/09decc3fe52ee920308448b775e51270d0799634 b/fuzz/corpus/fuzz_ds_tree/09decc3fe52ee920308448b775e51270d0799634 new file mode 100644 index 000000000..51756ff8e Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/09decc3fe52ee920308448b775e51270d0799634 differ diff --git a/fuzz/corpus/fuzz_ds_tree/0b19e4d2c5e4a46e34059098f069acf7f76cfcea b/fuzz/corpus/fuzz_ds_tree/0b19e4d2c5e4a46e34059098f069acf7f76cfcea new file mode 100644 index 000000000..d116787a1 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/0b19e4d2c5e4a46e34059098f069acf7f76cfcea differ diff --git a/fuzz/corpus/fuzz_ds_tree/198ae6bac21ab5be28e5fc511779419494c9fb99 b/fuzz/corpus/fuzz_ds_tree/198ae6bac21ab5be28e5fc511779419494c9fb99 new file mode 100644 index 000000000..b19788458 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/198ae6bac21ab5be28e5fc511779419494c9fb99 differ diff --git a/fuzz/corpus/fuzz_ds_tree/1ce15b6859d8d0d4b5254dcbb4981252c510fa9f b/fuzz/corpus/fuzz_ds_tree/1ce15b6859d8d0d4b5254dcbb4981252c510fa9f new file mode 100644 index 000000000..877f89b7c Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/1ce15b6859d8d0d4b5254dcbb4981252c510fa9f differ diff --git a/fuzz/corpus/fuzz_ds_tree/20c7e487a03376e9aee47466a79aa92ee242160c b/fuzz/corpus/fuzz_ds_tree/20c7e487a03376e9aee47466a79aa92ee242160c new file mode 100644 index 000000000..dd7b33346 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/20c7e487a03376e9aee47466a79aa92ee242160c differ diff --git a/fuzz/corpus/fuzz_ds_tree/241b26ca01fa5bbb08b23913607309f5063017bd b/fuzz/corpus/fuzz_ds_tree/241b26ca01fa5bbb08b23913607309f5063017bd new file mode 100644 index 000000000..e3755a3e9 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/241b26ca01fa5bbb08b23913607309f5063017bd differ diff --git a/fuzz/corpus/fuzz_ds_tree/24cf5c21b413b0e45721eb80edc898cf6e5f95dd b/fuzz/corpus/fuzz_ds_tree/24cf5c21b413b0e45721eb80edc898cf6e5f95dd new file mode 100644 index 000000000..ad5333604 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/24cf5c21b413b0e45721eb80edc898cf6e5f95dd differ diff --git a/fuzz/corpus/fuzz_ds_tree/27bb822705fabbf14078bef7ed2d0433d82fdad1 b/fuzz/corpus/fuzz_ds_tree/27bb822705fabbf14078bef7ed2d0433d82fdad1 new file mode 100644 index 000000000..31803b90c Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/27bb822705fabbf14078bef7ed2d0433d82fdad1 differ diff --git a/fuzz/corpus/fuzz_ds_tree/29ffc26a0ce83f654710b5de2a597507fc5729dc b/fuzz/corpus/fuzz_ds_tree/29ffc26a0ce83f654710b5de2a597507fc5729dc new file mode 100644 index 000000000..5b7ea38a3 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/29ffc26a0ce83f654710b5de2a597507fc5729dc differ diff --git a/fuzz/corpus/fuzz_ds_tree/2a0a2417d7a84b25f766e86673e47ec54fb00cbe b/fuzz/corpus/fuzz_ds_tree/2a0a2417d7a84b25f766e86673e47ec54fb00cbe new file mode 100644 index 000000000..33b7a0be7 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/2a0a2417d7a84b25f766e86673e47ec54fb00cbe differ diff --git a/fuzz/corpus/fuzz_ds_tree/2cafac567b408f64684f253a5b7b9a4b2e59568b b/fuzz/corpus/fuzz_ds_tree/2cafac567b408f64684f253a5b7b9a4b2e59568b new file mode 100644 index 000000000..e449db517 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/2cafac567b408f64684f253a5b7b9a4b2e59568b differ diff --git a/fuzz/corpus/fuzz_ds_tree/33211be3cf6ed2000eb1d2c75adcc855ed33b8e4 b/fuzz/corpus/fuzz_ds_tree/33211be3cf6ed2000eb1d2c75adcc855ed33b8e4 new file mode 100644 index 000000000..2772017dd Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/33211be3cf6ed2000eb1d2c75adcc855ed33b8e4 differ diff --git a/fuzz/corpus/fuzz_ds_tree/3a74d9d9143e2f5df4ae9c51d4ee3e6cce73d4cf b/fuzz/corpus/fuzz_ds_tree/3a74d9d9143e2f5df4ae9c51d4ee3e6cce73d4cf new file mode 100644 index 000000000..1eea85452 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/3a74d9d9143e2f5df4ae9c51d4ee3e6cce73d4cf differ diff --git a/fuzz/corpus/fuzz_ds_tree/3caf90a302b81895258b6a355d4a91a6c07cb332 b/fuzz/corpus/fuzz_ds_tree/3caf90a302b81895258b6a355d4a91a6c07cb332 new file mode 100644 index 000000000..dbedbc825 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/3caf90a302b81895258b6a355d4a91a6c07cb332 differ diff --git a/fuzz/corpus/fuzz_ds_tree/445082741fc8b6b486a198c23d86b885e6d14ce7 b/fuzz/corpus/fuzz_ds_tree/445082741fc8b6b486a198c23d86b885e6d14ce7 new file mode 100644 index 000000000..2185b2d0f Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/445082741fc8b6b486a198c23d86b885e6d14ce7 differ diff --git a/fuzz/corpus/fuzz_ds_tree/4978959b1a5996c384acf6a9bd14245625b66d46 b/fuzz/corpus/fuzz_ds_tree/4978959b1a5996c384acf6a9bd14245625b66d46 new file mode 100644 index 000000000..092798ccf Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/4978959b1a5996c384acf6a9bd14245625b66d46 differ diff --git a/fuzz/corpus/fuzz_ds_tree/4b5604ce8974b23a19948af1185f682c1e1ae8c1 b/fuzz/corpus/fuzz_ds_tree/4b5604ce8974b23a19948af1185f682c1e1ae8c1 new file mode 100644 index 000000000..dec299649 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/4b5604ce8974b23a19948af1185f682c1e1ae8c1 differ diff --git a/fuzz/corpus/fuzz_ds_tree/51b2a0ef859f67c0dca37efea91b2a2e4ddc520c b/fuzz/corpus/fuzz_ds_tree/51b2a0ef859f67c0dca37efea91b2a2e4ddc520c new file mode 100644 index 000000000..baaec0b68 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/51b2a0ef859f67c0dca37efea91b2a2e4ddc520c differ diff --git a/fuzz/corpus/fuzz_ds_tree/546c3bd16ec1d25eac5f1807b95bf57632a0542f b/fuzz/corpus/fuzz_ds_tree/546c3bd16ec1d25eac5f1807b95bf57632a0542f new file mode 100644 index 000000000..7d88ad45a Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/546c3bd16ec1d25eac5f1807b95bf57632a0542f differ diff --git a/fuzz/corpus/fuzz_ds_tree/583d48c2482fd1679a98c1748b31d07a87f06b55 b/fuzz/corpus/fuzz_ds_tree/583d48c2482fd1679a98c1748b31d07a87f06b55 new file mode 100644 index 000000000..7b78eadd3 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/583d48c2482fd1679a98c1748b31d07a87f06b55 differ diff --git a/fuzz/corpus/fuzz_ds_tree/591bd120f211dcffd75a4ac0529b847ed9945f57 b/fuzz/corpus/fuzz_ds_tree/591bd120f211dcffd75a4ac0529b847ed9945f57 new file mode 100644 index 000000000..6d59d9f09 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/591bd120f211dcffd75a4ac0529b847ed9945f57 differ diff --git a/fuzz/corpus/fuzz_ds_tree/5ee209f4deac4b64ede9a037ad33d271421a5146 b/fuzz/corpus/fuzz_ds_tree/5ee209f4deac4b64ede9a037ad33d271421a5146 new file mode 100644 index 000000000..4072369c8 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/5ee209f4deac4b64ede9a037ad33d271421a5146 differ diff --git a/fuzz/corpus/fuzz_ds_tree/6b2c2e41b2ca90992d615a3a7c580c5332610bfc b/fuzz/corpus/fuzz_ds_tree/6b2c2e41b2ca90992d615a3a7c580c5332610bfc new file mode 100644 index 000000000..4c2458111 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/6b2c2e41b2ca90992d615a3a7c580c5332610bfc differ diff --git a/fuzz/corpus/fuzz_ds_tree/75232df37bc7fd2864305542cfed6d5d050394b1 b/fuzz/corpus/fuzz_ds_tree/75232df37bc7fd2864305542cfed6d5d050394b1 new file mode 100644 index 000000000..5f5efc103 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/75232df37bc7fd2864305542cfed6d5d050394b1 differ diff --git a/fuzz/corpus/fuzz_ds_tree/753305c57fbdd9c0eaf41e6abd9f74036eab4b60 b/fuzz/corpus/fuzz_ds_tree/753305c57fbdd9c0eaf41e6abd9f74036eab4b60 new file mode 100644 index 000000000..7b7b617d8 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/753305c57fbdd9c0eaf41e6abd9f74036eab4b60 differ diff --git a/fuzz/corpus/fuzz_ds_tree/78cc5b473811aa993c3b7c88ffbed05187b6cd99 b/fuzz/corpus/fuzz_ds_tree/78cc5b473811aa993c3b7c88ffbed05187b6cd99 new file mode 100644 index 000000000..82029a8e7 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/78cc5b473811aa993c3b7c88ffbed05187b6cd99 differ diff --git a/fuzz/corpus/fuzz_ds_tree/7ac6b622dbe77fef5aa9f34f7170ed199ed1fd73 b/fuzz/corpus/fuzz_ds_tree/7ac6b622dbe77fef5aa9f34f7170ed199ed1fd73 new file mode 100644 index 000000000..e5e340cd2 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/7ac6b622dbe77fef5aa9f34f7170ed199ed1fd73 differ diff --git a/fuzz/corpus/fuzz_ds_tree/7b71687d14b357cc790e7855d92829c73f1caae5 b/fuzz/corpus/fuzz_ds_tree/7b71687d14b357cc790e7855d92829c73f1caae5 new file mode 100644 index 000000000..926944e0f Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/7b71687d14b357cc790e7855d92829c73f1caae5 differ diff --git a/fuzz/corpus/fuzz_ds_tree/7cdbbf403d12e497d96caa65d454d422167053d1 b/fuzz/corpus/fuzz_ds_tree/7cdbbf403d12e497d96caa65d454d422167053d1 new file mode 100644 index 000000000..625e08f59 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/7cdbbf403d12e497d96caa65d454d422167053d1 differ diff --git a/fuzz/corpus/fuzz_ds_tree/82f4a4e8d17333226fe80f2bce8ef37d33d8a8f0 b/fuzz/corpus/fuzz_ds_tree/82f4a4e8d17333226fe80f2bce8ef37d33d8a8f0 new file mode 100644 index 000000000..88363b25c Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/82f4a4e8d17333226fe80f2bce8ef37d33d8a8f0 differ diff --git a/fuzz/corpus/fuzz_ds_tree/8586c1e00b83a070b54db1672d29c6890f23174d b/fuzz/corpus/fuzz_ds_tree/8586c1e00b83a070b54db1672d29c6890f23174d new file mode 100644 index 000000000..0bfa61288 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/8586c1e00b83a070b54db1672d29c6890f23174d differ diff --git a/fuzz/corpus/fuzz_ds_tree/8a555e581a4ed7164e311b75291d73a6a6aa25ce b/fuzz/corpus/fuzz_ds_tree/8a555e581a4ed7164e311b75291d73a6a6aa25ce new file mode 100644 index 000000000..f5309ab4e Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/8a555e581a4ed7164e311b75291d73a6a6aa25ce differ diff --git a/fuzz/corpus/fuzz_ds_tree/8b16f2f2917796d5becb502f540dbc1a77645614 b/fuzz/corpus/fuzz_ds_tree/8b16f2f2917796d5becb502f540dbc1a77645614 new file mode 100644 index 000000000..2581944ee Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/8b16f2f2917796d5becb502f540dbc1a77645614 differ diff --git a/fuzz/corpus/fuzz_ds_tree/904a157a101a0771744b115e726f45fde3eda4b8 b/fuzz/corpus/fuzz_ds_tree/904a157a101a0771744b115e726f45fde3eda4b8 new file mode 100644 index 000000000..41474969a Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/904a157a101a0771744b115e726f45fde3eda4b8 differ diff --git a/fuzz/corpus/fuzz_ds_tree/90cf625aeb7846a5e9d860a9e920afb3e8657899 b/fuzz/corpus/fuzz_ds_tree/90cf625aeb7846a5e9d860a9e920afb3e8657899 new file mode 100644 index 000000000..260adb925 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/90cf625aeb7846a5e9d860a9e920afb3e8657899 differ diff --git a/fuzz/corpus/fuzz_ds_tree/95402f0bd80b42926a317c1606747289428eeb96 b/fuzz/corpus/fuzz_ds_tree/95402f0bd80b42926a317c1606747289428eeb96 new file mode 100644 index 000000000..cc61b2081 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/95402f0bd80b42926a317c1606747289428eeb96 differ diff --git a/fuzz/corpus/fuzz_ds_tree/96793225335720b78dd4de48be03aabe8487d533 b/fuzz/corpus/fuzz_ds_tree/96793225335720b78dd4de48be03aabe8487d533 new file mode 100644 index 000000000..6bb677bfb Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/96793225335720b78dd4de48be03aabe8487d533 differ diff --git a/fuzz/corpus/fuzz_ds_tree/985be9edded73c57832ed96828f93fbcf4b7bdbc b/fuzz/corpus/fuzz_ds_tree/985be9edded73c57832ed96828f93fbcf4b7bdbc new file mode 100644 index 000000000..4127ea76d Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/985be9edded73c57832ed96828f93fbcf4b7bdbc differ diff --git a/fuzz/corpus/fuzz_ds_tree/9949825ec99cd8993cb6d3cf61b78f1daca002d9 b/fuzz/corpus/fuzz_ds_tree/9949825ec99cd8993cb6d3cf61b78f1daca002d9 new file mode 100644 index 000000000..076bd174c Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/9949825ec99cd8993cb6d3cf61b78f1daca002d9 differ diff --git a/fuzz/corpus/fuzz_ds_tree/9b01aca36cc45c533cc9b8a505af7a1696d622ec b/fuzz/corpus/fuzz_ds_tree/9b01aca36cc45c533cc9b8a505af7a1696d622ec new file mode 100644 index 000000000..791ebbdea Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/9b01aca36cc45c533cc9b8a505af7a1696d622ec differ diff --git a/fuzz/corpus/fuzz_ds_tree/a17482d70812b76794e2a68373fe1aacb70bb983 b/fuzz/corpus/fuzz_ds_tree/a17482d70812b76794e2a68373fe1aacb70bb983 new file mode 100644 index 000000000..2bf3e180e Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/a17482d70812b76794e2a68373fe1aacb70bb983 differ diff --git a/fuzz/corpus/fuzz_ds_tree/a1c03aa549f9e6aef57b8f5503ec4b4c1329c7ba b/fuzz/corpus/fuzz_ds_tree/a1c03aa549f9e6aef57b8f5503ec4b4c1329c7ba new file mode 100644 index 000000000..ed6f26190 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/a1c03aa549f9e6aef57b8f5503ec4b4c1329c7ba differ diff --git a/fuzz/corpus/fuzz_ds_tree/a80d8aae221736aa612f8a82b202f5fce0eb9500 b/fuzz/corpus/fuzz_ds_tree/a80d8aae221736aa612f8a82b202f5fce0eb9500 new file mode 100644 index 000000000..0d98f2019 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/a80d8aae221736aa612f8a82b202f5fce0eb9500 differ diff --git a/fuzz/corpus/fuzz_ds_tree/aa5f590b2f8ae90f488320a5c0ce1664b6250141 b/fuzz/corpus/fuzz_ds_tree/aa5f590b2f8ae90f488320a5c0ce1664b6250141 new file mode 100644 index 000000000..7f5cb4d5f Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/aa5f590b2f8ae90f488320a5c0ce1664b6250141 differ diff --git a/fuzz/corpus/fuzz_ds_tree/aaf511006fc46ca08449d6f4988822988369725c b/fuzz/corpus/fuzz_ds_tree/aaf511006fc46ca08449d6f4988822988369725c new file mode 100644 index 000000000..01b1775c8 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/aaf511006fc46ca08449d6f4988822988369725c differ diff --git a/fuzz/corpus/fuzz_ds_tree/ae84c8f1709ff8fcefae24ebc14ffbfeebca84a8 b/fuzz/corpus/fuzz_ds_tree/ae84c8f1709ff8fcefae24ebc14ffbfeebca84a8 new file mode 100644 index 000000000..6a2695883 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/ae84c8f1709ff8fcefae24ebc14ffbfeebca84a8 differ diff --git a/fuzz/corpus/fuzz_ds_tree/b422ce7e471537303b914cf709aeeb5997183e13 b/fuzz/corpus/fuzz_ds_tree/b422ce7e471537303b914cf709aeeb5997183e13 new file mode 100644 index 000000000..423087277 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/b422ce7e471537303b914cf709aeeb5997183e13 differ diff --git a/fuzz/corpus/fuzz_ds_tree/ba04de28b49c623e55bfd4782f2e02bdfe98f0ee b/fuzz/corpus/fuzz_ds_tree/ba04de28b49c623e55bfd4782f2e02bdfe98f0ee new file mode 100644 index 000000000..b6476e4e5 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/ba04de28b49c623e55bfd4782f2e02bdfe98f0ee differ diff --git a/fuzz/corpus/fuzz_ds_tree/bae61b9f18afd63d2b282bf4319679d5275370dc b/fuzz/corpus/fuzz_ds_tree/bae61b9f18afd63d2b282bf4319679d5275370dc new file mode 100644 index 000000000..76e39b151 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/bae61b9f18afd63d2b282bf4319679d5275370dc differ diff --git a/fuzz/corpus/fuzz_ds_tree/c5613508b05a5ce7495f6b7b5c1080715c9f94e1 b/fuzz/corpus/fuzz_ds_tree/c5613508b05a5ce7495f6b7b5c1080715c9f94e1 new file mode 100644 index 000000000..2551b0887 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/c5613508b05a5ce7495f6b7b5c1080715c9f94e1 differ diff --git a/fuzz/corpus/fuzz_ds_tree/c75804765207820234ad3053f61007ab0e4445b4 b/fuzz/corpus/fuzz_ds_tree/c75804765207820234ad3053f61007ab0e4445b4 new file mode 100644 index 000000000..6b1372107 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/c75804765207820234ad3053f61007ab0e4445b4 differ diff --git a/fuzz/corpus/fuzz_ds_tree/d05019c14442561387c50ba71c173140c1e0770f b/fuzz/corpus/fuzz_ds_tree/d05019c14442561387c50ba71c173140c1e0770f new file mode 100644 index 000000000..ae89d94d7 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/d05019c14442561387c50ba71c173140c1e0770f differ diff --git a/fuzz/corpus/fuzz_ds_tree/d5b7e460b128cc07b7dbe2f845e8692370f9e2ef b/fuzz/corpus/fuzz_ds_tree/d5b7e460b128cc07b7dbe2f845e8692370f9e2ef new file mode 100644 index 000000000..9c2b44e2b Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/d5b7e460b128cc07b7dbe2f845e8692370f9e2ef differ diff --git a/fuzz/corpus/fuzz_ds_tree/e67f707ba8191170abba4703bb4f4192a0958939 b/fuzz/corpus/fuzz_ds_tree/e67f707ba8191170abba4703bb4f4192a0958939 new file mode 100644 index 000000000..12868aac5 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/e67f707ba8191170abba4703bb4f4192a0958939 differ diff --git a/fuzz/corpus/fuzz_ds_tree/ea4d4c2a8e91bd84473dac1e586d68d5c5451f5e b/fuzz/corpus/fuzz_ds_tree/ea4d4c2a8e91bd84473dac1e586d68d5c5451f5e new file mode 100644 index 000000000..c16c98167 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/ea4d4c2a8e91bd84473dac1e586d68d5c5451f5e differ diff --git a/fuzz/corpus/fuzz_ds_tree/eb386659c5a7aef8b95a191b90684d608d664a36 b/fuzz/corpus/fuzz_ds_tree/eb386659c5a7aef8b95a191b90684d608d664a36 new file mode 100644 index 000000000..e84b9842c Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/eb386659c5a7aef8b95a191b90684d608d664a36 differ diff --git a/fuzz/corpus/fuzz_ds_tree/f0ba5409fa8e20e3220a2d12c9d9fe39cd2818d9 b/fuzz/corpus/fuzz_ds_tree/f0ba5409fa8e20e3220a2d12c9d9fe39cd2818d9 new file mode 100644 index 000000000..bdef90f35 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/f0ba5409fa8e20e3220a2d12c9d9fe39cd2818d9 differ diff --git a/fuzz/corpus/fuzz_ds_tree/f18edcec12f7c8b5e1de7a43f3cb818677164e49 b/fuzz/corpus/fuzz_ds_tree/f18edcec12f7c8b5e1de7a43f3cb818677164e49 new file mode 100644 index 000000000..73737d8d5 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/f18edcec12f7c8b5e1de7a43f3cb818677164e49 differ diff --git a/fuzz/corpus/fuzz_ds_tree/f3259e536d2e75e24770e3afabf98a70a2e08932 b/fuzz/corpus/fuzz_ds_tree/f3259e536d2e75e24770e3afabf98a70a2e08932 new file mode 100644 index 000000000..200b24b81 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/f3259e536d2e75e24770e3afabf98a70a2e08932 differ diff --git a/fuzz/corpus/fuzz_ds_tree/f4318383dfd035c660f6454b98e0ee85846e6f9d b/fuzz/corpus/fuzz_ds_tree/f4318383dfd035c660f6454b98e0ee85846e6f9d new file mode 100644 index 000000000..9db6b5690 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/f4318383dfd035c660f6454b98e0ee85846e6f9d differ diff --git a/fuzz/corpus/fuzz_ds_tree/f45ab2dcdc5e5b00f36ba223500dde998ae877f2 b/fuzz/corpus/fuzz_ds_tree/f45ab2dcdc5e5b00f36ba223500dde998ae877f2 new file mode 100644 index 000000000..49b36dfed Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/f45ab2dcdc5e5b00f36ba223500dde998ae877f2 differ diff --git a/fuzz/corpus/fuzz_ds_tree/fc82def89dce7a25407e29cb6553747e9dbefcb5 b/fuzz/corpus/fuzz_ds_tree/fc82def89dce7a25407e29cb6553747e9dbefcb5 new file mode 100644 index 000000000..9941e8379 Binary files /dev/null and b/fuzz/corpus/fuzz_ds_tree/fc82def89dce7a25407e29cb6553747e9dbefcb5 differ diff --git a/fuzz/dictionary.dict b/fuzz/dictionary.dict new file mode 100644 index 000000000..f6c9b420b --- /dev/null +++ b/fuzz/dictionary.dict @@ -0,0 +1,66 @@ +#USENET + +"AUTHINFO USER " +"MODE READER\x0D\x0A" +"HELP\x0D\x0A" + +#FTP_DATA + +"RIFF" +"MZ" +"OggS" +"PK\x03\x04" +"\x00\x00\x01\xBA" +"Rar!" +"\x1A\x45\xDF\xA3" +"\xFF\xD8" +"GIF8" +"\x3C\x3F\x70\x68" +"\x23\x21\x2F\x62" +"%PDF" +"\x89PNG" +"(0, 1); beta = fuzzed_data.ConsumeFloatingPointInRange(0, 1); gamma = fuzzed_data.ConsumeFloatingPointInRange(0, 1); - significance = fuzzed_data.ConsumeFloatingPointInRange(0, 1); + significance = fuzzed_data.ConsumeFloatingPointInRange(0, 1.1); rc_hw = ndpi_hw_init(&hw, num_periods, additive_seeasonal, alpha, beta, gamma, significance); /* Init RSI */ diff --git a/fuzz/fuzz_alg_ses_des.cpp b/fuzz/fuzz_alg_ses_des.cpp index 70efef3d0..45c1f189e 100644 --- a/fuzz/fuzz_alg_ses_des.cpp +++ b/fuzz/fuzz_alg_ses_des.cpp @@ -32,7 +32,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { ndpi_des_fitting(values, num_iteration, &alpha_des, &beta); ndpi_free(values); - significance = fuzzed_data.ConsumeFloatingPointInRange(0, 1); + significance = fuzzed_data.ConsumeFloatingPointInRange(0, 1.1); rc_ses = ndpi_ses_init(&s, alpha_ses, significance); rc_des = ndpi_des_init(&d, alpha_des, beta, significance); diff --git a/fuzz/fuzz_common_code.c b/fuzz/fuzz_common_code.c index e4ab68ad8..30dc5baa7 100644 --- a/fuzz/fuzz_common_code.c +++ b/fuzz/fuzz_common_code.c @@ -34,22 +34,23 @@ void fuzz_set_alloc_callbacks_and_seed(int seed) fuzz_set_alloc_seed(seed); } -void fuzz_init_detection_module(struct ndpi_detection_module_struct **ndpi_info_mod, - int enable_log) +void fuzz_init_detection_module(struct ndpi_detection_module_struct **ndpi_info_mod) { ndpi_init_prefs prefs = ndpi_enable_ja3_plus; - NDPI_PROTOCOL_BITMASK all, debug_bitmask; + NDPI_PROTOCOL_BITMASK all; if(*ndpi_info_mod == NULL) { *ndpi_info_mod = ndpi_init_detection_module(prefs); NDPI_BITMASK_SET_ALL(all); ndpi_set_protocol_detection_bitmask2(*ndpi_info_mod, &all); - if(enable_log) { - NDPI_BITMASK_SET_ALL(debug_bitmask); - ndpi_set_log_level(*ndpi_info_mod, 4); - ndpi_set_debug_bitmask(*ndpi_info_mod, debug_bitmask); - } +#if 0 + NDPI_PROTOCOL_BITMASK debug_bitmask; + + NDPI_BITMASK_SET_ALL(debug_bitmask); + ndpi_set_log_level(*ndpi_info_mod, 4); + ndpi_set_debug_bitmask(*ndpi_info_mod, debug_bitmask); +#endif ndpi_load_protocols_file(*ndpi_info_mod, "protos.txt"); ndpi_load_categories_file(*ndpi_info_mod, "categories.txt", NULL); diff --git a/fuzz/fuzz_common_code.h b/fuzz/fuzz_common_code.h index 84670a0bb..02df3e0cc 100644 --- a/fuzz/fuzz_common_code.h +++ b/fuzz/fuzz_common_code.h @@ -8,8 +8,7 @@ extern "C" { #endif -void fuzz_init_detection_module(struct ndpi_detection_module_struct **ndpi_info_mod, - int enable_log); +void fuzz_init_detection_module(struct ndpi_detection_module_struct **ndpi_info_mod); /* To allow memory allocation failures */ void fuzz_set_alloc_callbacks(void); diff --git a/fuzz/fuzz_community_id.cpp b/fuzz/fuzz_community_id.cpp new file mode 100644 index 000000000..3a029ec79 --- /dev/null +++ b/fuzz/fuzz_community_id.cpp @@ -0,0 +1,58 @@ +#include "ndpi_api.h" +#include "fuzz_common_code.h" + +#include +#include +#include +#include "fuzzer/FuzzedDataProvider.h" + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + FuzzedDataProvider fuzzed_data(data, size); + u_int8_t is_ipv6, l4_proto, icmp_type, icmp_code; + u_int16_t src_port, dst_port; + u_char *hash_buf; + u_int8_t hash_buf_len; + + /* Just to have some data */ + + /* To allow memory allocation failures */ + fuzz_set_alloc_callbacks_and_seed(size); + + is_ipv6 = fuzzed_data.ConsumeBool(); + l4_proto = fuzzed_data.ConsumeIntegral(); + src_port = fuzzed_data.ConsumeIntegral(); + dst_port = fuzzed_data.ConsumeIntegral(); + icmp_type = fuzzed_data.ConsumeIntegral(); + icmp_code = fuzzed_data.ConsumeIntegral(); + hash_buf_len = fuzzed_data.ConsumeIntegralInRange(0, 64); + hash_buf = (u_char *)ndpi_malloc(hash_buf_len); + if (!hash_buf) + return 0; + + if (!is_ipv6) { + u_int32_t src_ip, dst_ip; + + src_ip = fuzzed_data.ConsumeIntegral(); + dst_ip = fuzzed_data.ConsumeIntegral(); + + ndpi_flowv4_flow_hash(l4_proto, src_ip, dst_ip, src_port, dst_port, + icmp_type, icmp_code, hash_buf, hash_buf_len); + } else { + u_char *src_ip, *dst_ip; + + if(fuzzed_data.remaining_bytes() >= 32) { + std::vectordata1 = fuzzed_data.ConsumeBytes(16); + src_ip = data1.data(); + std::vectordata2 = fuzzed_data.ConsumeBytes(16); + dst_ip = data2.data(); + + ndpi_flowv6_flow_hash(l4_proto, (struct ndpi_in6_addr *)src_ip, + (struct ndpi_in6_addr *)dst_ip, src_port, dst_port, + icmp_type, icmp_code, hash_buf, hash_buf_len); + } + } + + ndpi_free(hash_buf); + + return 0; +} diff --git a/fuzz/fuzz_config.cpp b/fuzz/fuzz_config.cpp index d43ede13a..c5e404391 100644 --- a/fuzz/fuzz_config.cpp +++ b/fuzz/fuzz_config.cpp @@ -23,7 +23,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { if(fuzzed_data.remaining_bytes() < 4 + /* ndpi_init_detection_module() */ NDPI_MAX_SUPPORTED_PROTOCOLS + NDPI_MAX_NUM_CUSTOM_PROTOCOLS + 5 + /* files */ - (NDPI_LRUCACHE_MAX * 5) + /* LRU caches */ + ((NDPI_LRUCACHE_MAX + 1) * 5) + /* LRU caches */ 2 + 1 + 4 + /* ndpi_set_detection_preferences() */ 7 + /* Opportunistic tls */ 29 /* Min real data: ip length + udp length + 1 byte */) @@ -55,7 +55,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { if(fuzzed_data.ConsumeBool()) ndpi_load_malicious_sha1_file(ndpi_info_mod, "sha1_fingerprints.csv"); - for(i = 0; i < NDPI_LRUCACHE_MAX; i++) { + for(i = 0; i < NDPI_LRUCACHE_MAX + 1; i++) { /* + 1 to test invalid type */ ndpi_set_lru_cache_size(ndpi_info_mod, static_cast(i), fuzzed_data.ConsumeIntegralInRange(0, (1 << 16) - 1)); ndpi_get_lru_cache_size(ndpi_info_mod, static_cast(i), &num); @@ -98,14 +98,20 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { assert(pkt.size() >= 29); /* To be sure check on fuzzed_data.remaining_bytes() at the beginning is right */ ndpi_detection_process_packet(ndpi_info_mod, &flow, pkt.data(), pkt.size(), 0, NULL); ndpi_detection_giveup(ndpi_info_mod, &flow, 1, &protocol_was_guessed); + /* ndpi_guess_undetected_protocol() is a "strange" function (since is ipv4 only) + but it is exported by the library and it is used by ntopng. Try fuzzing it, here */ + if(!flow.is_ipv6) + ndpi_guess_undetected_protocol(ndpi_info_mod, &flow, flow.l4_proto, + flow.c_address.v4, flow.s_address.v4, + flow.c_port, flow.s_port); ndpi_free_flow_data(&flow); /* Get some final stats */ - for(i = 0; i < NDPI_LRUCACHE_MAX; i++) + for(i = 0; i < NDPI_LRUCACHE_MAX + 1; i++) /* + 1 to test invalid type */ ndpi_get_lru_cache_stats(ndpi_info_mod, static_cast(i), &lru_stats); - for(i = 0; i < NDPI_PTREE_MAX; i++) + for(i = 0; i < NDPI_PTREE_MAX + 1; i++) /* + 1 to test invalid type */ ndpi_get_patricia_stats(ndpi_info_mod, static_cast(i), &patricia_stats); - for(i = 0; i < NDPI_AUTOMA_MAX; i++) + for(i = 0; i < NDPI_AUTOMA_MAX + 1; i++) /* + 1 to test invalid type */ ndpi_get_automa_stats(ndpi_info_mod, static_cast(i), &automa_stats); ndpi_exit_detection_module(ndpi_info_mod); diff --git a/fuzz/fuzz_ds_ahocorasick.cpp b/fuzz/fuzz_ds_ahocorasick.cpp index 67521811e..cd56058e1 100644 --- a/fuzz/fuzz_ds_ahocorasick.cpp +++ b/fuzz/fuzz_ds_ahocorasick.cpp @@ -59,10 +59,11 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { ac_pattern.astring = value_dup; ac_pattern.length = strlen(value_dup); - ac_pattern.rep.number = 0; + ac_pattern.rep.number = fuzzed_data.ConsumeIntegral(); ac_pattern.rep.category = 0; ac_pattern.rep.breed = 0; ac_pattern.rep.level = fuzzed_data.ConsumeIntegralInRange(0, 2); + ac_pattern.rep.from_start = fuzzed_data.ConsumeBool(); ac_pattern.rep.at_end = fuzzed_data.ConsumeBool(); ac_pattern.rep.dot = memchr(value_dup, '.', strlen(value_dup)) != NULL; diff --git a/fuzz/fuzz_ds_libcache.cpp b/fuzz/fuzz_ds_libcache.cpp new file mode 100644 index 000000000..f4b30092f --- /dev/null +++ b/fuzz/fuzz_ds_libcache.cpp @@ -0,0 +1,68 @@ +#include "ndpi_api.h" +#include "../src/lib/third_party/include/libcache.h" +#include "fuzz_common_code.h" + +#include +#include +#include +#include "fuzzer/FuzzedDataProvider.h" + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + FuzzedDataProvider fuzzed_data(data, size); + u_int16_t i, rc, num_iteration, data_len, is_added = 0; + std::vectorvalue_added; + cache_t c; + + /* Just to have some data */ + if (fuzzed_data.remaining_bytes() < 2048) + return -1; + + /* To allow memory allocation failures */ + fuzz_set_alloc_callbacks_and_seed(size); + + c = cache_new(fuzzed_data.ConsumeIntegral()); + + num_iteration = fuzzed_data.ConsumeIntegral(); + for (i = 0; i < num_iteration; i++) { + + data_len = fuzzed_data.ConsumeIntegralInRange(0, 127); + std::vectordata = fuzzed_data.ConsumeBytes(data_len); + + rc = cache_add(c, data.data(), data.size()); + /* Keep one random entry really added */ + if (rc == CACHE_NO_ERROR && is_added == 0 && fuzzed_data.ConsumeBool()) { + value_added = data; + is_added = 1; + } + } + + /* "Random" search */ + num_iteration = fuzzed_data.ConsumeIntegral(); + for (i = 0; i < num_iteration; i++) { + data_len = fuzzed_data.ConsumeIntegralInRange(0, 127); + std::vectordata = fuzzed_data.ConsumeBytes(data_len); + + cache_contains(c, data.data(), data.size()); + } + /* Search of an added entry */ + if (is_added) { + cache_contains(c, value_added.data(), value_added.size()); + } + + /* "Random" remove */ + num_iteration = fuzzed_data.ConsumeIntegral(); + for (i = 0; i < num_iteration; i++) { + data_len = fuzzed_data.ConsumeIntegralInRange(0, 127); + std::vectordata = fuzzed_data.ConsumeBytes(data_len); + + cache_remove(c, data.data(), data.size()); + } + /* Remove of an added entry */ + if (is_added) { + cache_remove(c, value_added.data(), value_added.size()); + } + + cache_free(c); + + return 0; +} diff --git a/fuzz/fuzz_ds_patricia.cpp b/fuzz/fuzz_ds_patricia.cpp index c514f3b00..4655ee94f 100644 --- a/fuzz/fuzz_ds_patricia.cpp +++ b/fuzz/fuzz_ds_patricia.cpp @@ -128,8 +128,8 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { ndpi_patricia_remove(p, node); } } else { - if(fuzzed_data.remaining_bytes() > 128) { - std::vectordata = fuzzed_data.ConsumeBytes(128); + if(fuzzed_data.remaining_bytes() > 16) { + std::vectordata = fuzzed_data.ConsumeBytes(16); ip = data.data(); ip_len = fuzzed_data.ConsumeIntegralInRange(0, 128); ndpi_fill_prefix_v6(&prefix, (const struct in6_addr *)ip, ip_len, 128); diff --git a/fuzz/fuzz_ds_tree.cpp b/fuzz/fuzz_ds_tree.cpp new file mode 100644 index 000000000..ee00b1723 --- /dev/null +++ b/fuzz/fuzz_ds_tree.cpp @@ -0,0 +1,95 @@ +#include "ndpi_api.h" +#include "fuzz_common_code.h" + +#include +#include +#include +#include "fuzzer/FuzzedDataProvider.h" + +static int __compare(const void *a, const void *b) +{ + u_int32_t *entry_a, *entry_b; + + entry_a = (u_int32_t *)a; + entry_b = (u_int32_t *)b; + + return entry_a == entry_b ? 0 : (entry_a < entry_b ? -1 : +1); +} +static void __free(void * const node) +{ + u_int32_t *entry = (u_int32_t *)node; + ndpi_free(entry); +} +static void __walk(const void *a, ndpi_VISIT which, int depth, void *user_data) +{ + assert(user_data == NULL); + assert(a); +} + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + FuzzedDataProvider fuzzed_data(data, size); + u_int16_t i, num_iteration, is_added = 0; + void *root = NULL; + u_int32_t *entry, value_added, e; + + /* Just to have some data */ + if (fuzzed_data.remaining_bytes() < 1024) + return -1; + + /* To allow memory allocation failures */ + fuzz_set_alloc_callbacks_and_seed(size); + + num_iteration = fuzzed_data.ConsumeIntegral(); + for (i = 0; i < num_iteration; i++) { + entry = (u_int32_t *)ndpi_malloc(sizeof(u_int32_t)); + if (!entry) + continue; + *entry = fuzzed_data.ConsumeIntegral(); + + if(ndpi_tfind(entry, &root, __compare) == NULL) { + if(ndpi_tsearch(entry, &root, __compare) == NULL) { + ndpi_free(entry); + } else { + /* Keep one random entry really added */ + if (is_added == 0 && fuzzed_data.ConsumeBool()) { + value_added = *entry; + is_added = 1; + } + } + } else { + ndpi_free(entry); + } + } + + /* "Random" search */ + num_iteration = fuzzed_data.ConsumeIntegral(); + for (i = 0; i < num_iteration; i++) { + e = fuzzed_data.ConsumeIntegral(); + + ndpi_tfind(&e, &root, __compare); + } + /* Search of an added node */ + if (is_added) { + ndpi_tfind(&value_added, &root, __compare); + } + + ndpi_twalk(root, __walk, NULL); + + /* "Random" delete */ + num_iteration = fuzzed_data.ConsumeIntegral(); + for (i = 0; i < num_iteration; i++) { + e = fuzzed_data.ConsumeIntegral(); + + ndpi_tdelete(&e, &root, __compare); + } + /* Delete of an added node */ + if (is_added) { + ndpi_tdelete(&value_added, &root, __compare); + } + + ndpi_twalk(root, __walk, NULL); + + ndpi_tdestroy(root, __free); + + return 0; +} diff --git a/fuzz/fuzz_process_packet.c b/fuzz/fuzz_process_packet.c index 7376f4fd8..dcd15c99e 100644 --- a/fuzz/fuzz_process_packet.c +++ b/fuzz/fuzz_process_packet.c @@ -12,7 +12,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { uint8_t protocol_was_guessed; if (ndpi_info_mod == NULL) { - fuzz_init_detection_module(&ndpi_info_mod, 0); + fuzz_init_detection_module(&ndpi_info_mod); ndpi_init_serializer(&json_serializer, ndpi_serialization_format_json); ndpi_init_serializer(&csv_serializer, ndpi_serialization_format_csv); diff --git a/fuzz/fuzz_quic_get_crypto_data.c b/fuzz/fuzz_quic_get_crypto_data.c index c0dc85f8c..728b7ec67 100644 --- a/fuzz/fuzz_quic_get_crypto_data.c +++ b/fuzz/fuzz_quic_get_crypto_data.c @@ -28,7 +28,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size) { u_int32_t first_int, version = 0; if(ndpi_info_mod == NULL) { - fuzz_init_detection_module(&ndpi_info_mod, 0); + fuzz_init_detection_module(&ndpi_info_mod); flow = ndpi_calloc(1, SIZEOF_FLOW_STRUCT); } -- cgit v1.2.3