aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Nardi <12729895+IvanNardi@users.noreply.github.com>2023-02-16 18:04:34 +0100
committerGitHub <noreply@github.com>2023-02-16 18:04:34 +0100
commit4075324e2b81c11254a28362942a477594be6b28 (patch)
tree6d2412efd764f97cfd3bdefd9ee623248b718efb
parent06d4f8c7e56816d20636dc3838fa3a9825ad2ac8 (diff)
fuzz: extend fuzz coverage (#1888)
-rw-r--r--.gitignore4
-rw-r--r--fuzz/Makefile.am46
-rw-r--r--fuzz/corpus/fuzz_alg_bytestream/00f699c111a4216c827906dddc7e53d2676c436c1
-rw-r--r--fuzz/corpus/fuzz_alg_bytestream/11
-rw-r--r--fuzz/corpus/fuzz_alg_bytestream/1c45e235b337db8b9e98bf2aa0ee02dde9384efa1
-rw-r--r--fuzz/corpus/fuzz_alg_bytestream/21
-rw-r--r--fuzz/corpus/fuzz_alg_bytestream/7f6a3512755b96414b7dfe5a21d2952a9cc703331
-rw-r--r--fuzz/corpus/fuzz_alg_bytestream/b6589fc6ab0dc82cf12099d1c2d40ab994e8410c1
-rw-r--r--fuzz/corpus/fuzz_alg_bytestream/b7103ca278a75cad8f7d065acda0c2e80da0b7dc1
-rw-r--r--fuzz/corpus/fuzz_alg_bytestream/d2418811df5936bdb530e9c66aca38f4fc6da70c1
-rw-r--r--fuzz/corpus/fuzz_config/1d0509e291e563f66715ddb3476689931516f533bin892 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_config/290a66605b81b38623979b32de5e552f40732dadbin684 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_config/3036bf1df14f0ad0c2b5614e51789f575af97dfbbin0 -> 690 bytes
-rw-r--r--fuzz/corpus/fuzz_config/3bf49bd80bf3c787f49222fc50c41f48f85fa013bin0 -> 614 bytes
-rw-r--r--fuzz/corpus/fuzz_config/3f22430a14710ba1d01f3547b60aded67efb9833bin0 -> 612 bytes
-rw-r--r--fuzz/corpus/fuzz_config/44446f3b2a2200f31349b0ab61076e52bd8b0efdbin822 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_config/4714c051ed397aa1778184fc9ba513f77f17a511bin0 -> 706 bytes
-rw-r--r--fuzz/corpus/fuzz_config/4e873d14a5b6764f075247f14e69a615a9c702d0bin0 -> 625 bytes
-rw-r--r--fuzz/corpus/fuzz_config/579120e2b849fa886d3e00e85da1aadaf012a530bin620 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_config/5eaf59d9cedde7668db1179a10af6d41cfd25acbbin641 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_config/63cf7bf35278ec03c440970b1324abeca2526d14bin618 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_config/685a648c4186681d6e5a663fa7797d424dd8181ebin0 -> 612 bytes
-rw-r--r--fuzz/corpus/fuzz_config/72d80bd288fdbf7f3cce29f635b3d235c0aeaa74bin617 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_config/76bc4759342543f5312d55d4d6e4133c6d298546bin615 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_config/77281fce6fb40a568b750e97b356153447f92021 (renamed from fuzz/corpus/fuzz_config/e499f9f18ca9edd456fd9efd129dbe0f77caa5a0)bin692 -> 643 bytes
-rw-r--r--fuzz/corpus/fuzz_config/7b261995a0ed0a8b6ca544edfd56765963d113bebin0 -> 615 bytes
-rw-r--r--fuzz/corpus/fuzz_config/7f4baf1ac218c942a8dc127ec07b1fc2ac670262bin621 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_config/828f8f1454722c92c14f9b25ad776eb5e676459cbin0 -> 611 bytes
-rw-r--r--fuzz/corpus/fuzz_config/8bb38a19254c0d699e4d551a9ff65bc7a99e9a63bin0 -> 627 bytes
-rw-r--r--fuzz/corpus/fuzz_config/8ce8bfe5ac7addf5e2c5da6794cf5934678dd06c3
-rw-r--r--fuzz/corpus/fuzz_config/907d8cd14928d4035594a91347a407857b868bafbin0 -> 615 bytes
-rw-r--r--fuzz/corpus/fuzz_config/9220c147a2a2e08183c4fd85d62c7f15247969a6bin693 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_config/a79e2ad75b81e48a7e7153d9f1d2a60740e04360 (renamed from fuzz/corpus/fuzz_config/1de3ce546c3443fb0ba76988f36f1e42c022d603)bin617 -> 616 bytes
-rw-r--r--fuzz/corpus/fuzz_config/ae51624e0c6ecf1897244da20a17ef2052058380bin617 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_config/b00102178b488b3e299f9465f91093894f4649aabin623 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_config/b160a30be750571b70090c2811c25d0c6ba460d4bin0 -> 769 bytes
-rw-r--r--fuzz/corpus/fuzz_config/b46ee834ea6b1b6b860bbcc0bfad3de77ec72d32bin0 -> 611 bytes
-rw-r--r--fuzz/corpus/fuzz_config/c3dac33fc878793d7aa0012b46fbd67584ecfe86bin639 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_config/cbf4471e64914dc5eb45a1de426f42723c703cecbin0 -> 613 bytes
-rw-r--r--fuzz/corpus/fuzz_config/ccc5d3518a38a1c9c89139202aac46507a7b9f08bin0 -> 616 bytes
-rw-r--r--fuzz/corpus/fuzz_config/d828ee9bc3dc0de65cb5e0ec6091c5e362fbae50bin775 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_config/e063dec4ae4ac11531c42b97ff54614517327eb1bin0 -> 616 bytes
-rw-r--r--fuzz/corpus/fuzz_config/ecf80e7622e869e8783e6bf9be48bc1dd4a61c13 (renamed from fuzz/corpus/fuzz_config/1b27923041cd9943fec04f9e795252294a140884)bin615 -> 611 bytes
-rw-r--r--fuzz/corpus/fuzz_config/ee595881722ceecd4931d38b08c66192af4b8e75bin621 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_config/fea0c8b59dc63399afd8a0e6eab1753c444e4833bin0 -> 613 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/02a2b9e7466b872abc5a767eb232dc1d6e4816b8bin0 -> 1289 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/03ad53be4d12007e829eac994224f6ca64e7228fbin0 -> 1961 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/043d681d837a34b44d0d622cd5a3622ff02eba72bin2062 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/05d177ca5e93fabb2166bd7c28a8cf6257c67ef4bin1054 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/0bed72f62a06502c94ecfc59416de25809b974aebin1024 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/0fa79cef56c5f4da6b71a32485bbeed91a3e6203bin1069 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/1005b3b07fd38f41a4925e68904601025e717561bin0 -> 1032 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/12e3e23dce00d6af75cb1b5cf07ad6b700dab3b7bin0 -> 1052 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/139cba76bb0199abdb1889c0cf48a14a18ebe9bcbin0 -> 1024 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/154a61898521268affa31f6bbe94d924a40818aabin0 -> 4045 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/1cfcca57c0f0390357f1451b8b7fe8e1d30df833bin0 -> 1153 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/1e17f87333b37b4009f70119882d8ab2d665166d1
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/21c148221b9132dcc37253edcd045ff7c549f7cebin0 -> 1084 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/2af1bb5979d693feb8d7f60d08d4fdd771ac2718bin0 -> 1120 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/2c735ad522e229407f1ab8c335118e80b5779830bin0 -> 1105 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/2ff35048123232a78e60d8f3420332b287b0f773bin1024 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/317a2aa594d0853ff202f8057d2653095d8f36eabin2636 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/336a77464e94ca4c1d7f672bbb67ea7990540d24bin0 -> 1024 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/3f16a014d67b679493f0d58a243024aaaa803e16bin2675 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/4341e6b065a9cba995c43d99d94f49f0c49ebca1bin1140 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/4412b1a8aff0c488f5c3cc4da1231c2dbdedeb55bin0 -> 1032 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/465c2afda08c7da6e343c77d853a940088162b7bbin0 -> 1211 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/49535c6efd404f0cbc925547e7d9fb0b069eee79bin0 -> 1025 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/4b1fa94f2b83be23347467ab47e05492df185edfbin0 -> 1042 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/4b7a0785ffb61d694acf53da91b2b040d9e37e19bin0 -> 1024 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/4d862ee798be8b896adca8810dcaf8cfdd364bc4bin3346 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/4e383efd4e347ef2d70ea9f6ff688388600a0acabin0 -> 1316 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/4f19efda0a66facee2c09c94146659f6439f50c4bin0 -> 1566 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/50a01934a05c3208fbecdda6588b311b983ad082bin0 -> 3349 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/60496a70ac884918a0582b59058311721a8b0e2ebin1026 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/623e38fe802c821ad817b815f808a5492e871c20bin1073 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/62a749a5d329509d40f4d2060f6bde3f2db4b6debin0 -> 1026 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/68c0e323bbd159c19570fd5846920da37c63de3c (renamed from fuzz/corpus/fuzz_ds_ahocorasick/a09384231aff9f82af04ee38e22349ab7fd1a555)bin1026 -> 1093 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/69279e4e0b12475f6b9cc6416d37dcbb9a14577abin0 -> 1394 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/6bb2273d12529ab96590014560aeac1d31f2de8dbin3949 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/6c3cb2bb4ed7b1eeb7989b5924007425b6bf0cd3bin0 -> 2057 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/6cada63e7ab4c1c89e9ff4b9766ed042158ab707bin1125 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/6db306e691ee4b8e7026ec0d276b0d9b0bc119eebin0 -> 1024 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/6e54438e59553c7ec563261c63ac5a221d6c90e1bin0 -> 1133 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/776a3a38cb2120e3d561dfdd9e44fd4238c8bb0fbin0 -> 1067 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/777d0616e337cd787f7e1a8eb8b6c9d95ebef769bin1074 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/7d6dad61754d37986f02fb4fdebf76c88924b721bin0 -> 2130 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/826cb260348830beae2949391e2c1bb7aa6b2c20bin1053 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/85bf45ca4b279439c3943964cd04887a2efcd494bin0 -> 1160 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/8a6b341220525d524375490a4e69a3500212a2a5bin3854 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/8dfbb3915b3b637fb1502c2ee3e2e415fce3fb17bin0 -> 2984 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/8e1036e187eeeddcc7fd08d7c6ff1b4205b1f355bin1580 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/91f71999712440ca5447391852cdad9be5d9518ebin0 -> 2057 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/9716238edba975d8983a50ebe002ede8f36f0ef3bin0 -> 1062 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/97c2cafc5d282ddaa6138dc3f1c7bc4a38a93d8ebin0 -> 1029 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/99b476c3cb17d01f8cfea2f61d4520b847e07c38bin3878 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/9c27bb866b16349315305294074ae44bff7e54adbin3998 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/9cfc93d48121339ddf7f0207fda639895afcee9abin0 -> 1025 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/a0bc9499c818ee2793d68d8c1569cbdaefc4fd81bin0 -> 1027 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/a225fb40652e717735e19cb581b689ff4cc10a94bin4068 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/a3a4c2a17536c11c7ba9126fb67b5eb9b5199f58bin1709 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/a4bf32e5ce76c8a6684d02b1193a9ae4384e7f1abin3460 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/abe0c48360d8463fe9e1434c351266db57fdbb32bin3905 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/ad877afa0d998ba233fa2d47b46b417e3427d76e1
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/b3bdaaa1e6135890da0da803d628ac73de03c388bin0 -> 1585 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/b45a0a9f2a405c5dd5d214636d65db272ec49baebin1026 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/b5be0470cc34038240a5e46a8a303bc682547c7dbin0 -> 1024 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/b94d5b2cf966cf52e69f56b6da301cb3e6c69113bin0 -> 1452 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/b9b62c2834f059a0cecc77a1b2ead0bebf9802b1bin0 -> 2597 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/ba7bccc10810a844ef20acb4d45f23653f1ed4ccbin1025 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/c012a2977323790cbc2c8b57d09ebf097547bb04bin1034 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/c09a9b5c79f1b7f7925e3071f1b2489f208ffe9dbin1252 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/c9c7120c7fb44d074f838921e3a4eca2277f23a5bin0 -> 1092 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/cb82a4ccd0559b84f3003fa9a4f5fbc685f7eabcbin0 -> 1024 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/ce4eea6ae2e470659e758c9649271a641e56c8ccbin0 -> 1033 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/cea18c331ca6cec59fd099065629fb2d9cfb7e0abin0 -> 2726 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/cf90e33cc0801d4f52015247dcdcee00ae210a0abin0 -> 2855 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/d18c1455e3dbc31d072706e4105b576e3b4af411bin1139 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/d2b95e4312fd14b0953a7c9c8985929f78e6aabcbin0 -> 1029 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/d4313c17a49f5e1e6db729b57fc49c50d5010864bin1172 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/d63453082276852db11afb5ce6a7aeec380ed457bin0 -> 1037 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/d85ba3fe4414a8294c41a5479ca9dd27a3294b76bin2199 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/dadda676c596fc0295f52af417ed755de1701ecbbin1029 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/dcf51a934b620b5cc212780823070ebd50dbdc16bin0 -> 1394 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/ddc1f7e2ab9fbad16aefbcecfa50615135555eeabin1156 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/de42ae3f925cb1591c116e7deea6ed5846e035b5bin1033 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/e3866ba1859eec0377c563931cd0bdb372d109b6bin0 -> 1188 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/e779274511b5fd28af45a5929b3ba1ff4cdd8ed5bin1028 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/e95a74bccef2fa04191002aa3f1576c8ce8462e0bin2770 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/ea586988a98b6744558e063100765eaa0a9bee69bin0 -> 1024 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/ececf77f65af9b9ea5f90022a540b77b386d64b7bin2636 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/f0249dacbe8a06a608cf6c0cf8973c9901771eacbin1024 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/f20fd0903488d8969146fe8f8fdaa24f55280593bin1035 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/f26b8ac9baea4eae0f6682e8de949106265a8ec1bin0 -> 1869 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/f29d76560d2c84ccbfe2481bd9c56f1082b477f4bin0 -> 1081 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/f3ecb935c9d00b5fc46918835fa0f84cef89e58dbin1024 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/f5182a61a5cd67e087328b227ab48da7833f83e0bin1071 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/f6dca2adfd75f73ada3c68ff46300fa50410f5d3bin1027 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/f73678f30e5424ea5b4166929554be60b49348c9bin0 -> 1153 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ahocorasick/fb6dbdd81d0b399df74d81878cde95c566a7306fbin0 -> 1024 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/00b3152badbdc709990d63ccec1805739bbf8447bin0 -> 312 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/0140b979ed7fbc87e8a647e82173dca8339462eebin0 -> 1028 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/06b73472d2ec64afd11c3a77d550d7806b33809cbin0 -> 368 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/078d6985462cfd48d06f42c78d277a9932efcef6bin0 -> 907 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/07b7c84ba855992f14c05c1ed0b11acfae308978bin0 -> 236 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/0ab182d56e9d758677f771f7731a01d48612723fbin0 -> 2931 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/14b9090f67d5b756f140734ccd18624bfd6379a1bin0 -> 1788 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/15362103ab120b70ce6256c5b112cf5089f2e809bin0 -> 1856 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/1a2ddc134226abd613c6b5f804b14987c5fb91bbbin0 -> 38 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/1c3e3a97a50cfceb9863f940fb59e7534cebc4b4bin0 -> 179 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/1e0d6060af6d68f7c5df21ec2a3268cecfcebdfabin0 -> 2126 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/1f7a617ab67da069c0ee8143b8c626c6f935abddbin0 -> 276 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/2165ddc96b4ccbdedc8b78a41407864f9f26d895bin0 -> 451 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/22386051c86870ad59d65af6f8da5921cca20d5bbin0 -> 2970 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/25732e2c49101274529cb4769426330f1b958401bin0 -> 241 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/2902833756445148e2151d93a3bf8ab0cd269aacbin0 -> 132 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/2a1b15b3f0056aeb9a5aa89d77a903dfccd0b02abin0 -> 674 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/2bea75e47b90c2aca274af658e79a8973d2a7e76bin0 -> 322 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/2ce6b2c8d3c010b2a9c76165440c1a7ce3abc6b1bin0 -> 598 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/2eb452be460a03159aa28c90eaf83e719a69d74bbin0 -> 1942 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/3301381edefd92364acf23b142eacbaf89b138efbin0 -> 2 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/34eeb7af3cc7c82bcd0291f74b5a9aecc2f1b7ccbin0 -> 240 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/3a8bab234fc79f763b4fff83c7c51c122cb73a92bin0 -> 914 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/3d9b592938351112b05b38e649790699b6555591bin0 -> 289 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/3ff0e5ef71bea278b465ce517eba40f9487e90a0bin0 -> 821 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/40c2ee3cec844627486313ee3147d9778adecb26bin0 -> 1201 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/418052c42f19e85fbd3bc3428a67ed99577edc1ebin0 -> 129 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/423a25963500f20052e92a1d368c5b4073562cd3bin0 -> 647 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/439f62298be458904b543d9ec9dd1105779a2792bin0 -> 332 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/44b60374026ac3082d5552e05288351be79416c6bin0 -> 98 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/469baadf20586b44d080774ece492677e39582bfbin0 -> 2467 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/4809570a2b2f805906691e011b9beffe03c8dc68bin0 -> 2748 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/4b55df102046a74e75b3ac7345efaeecda19dc55bin0 -> 1946 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/4ba43c4473a2e24ef66ee6e6d3a083f1e90ecb59bin0 -> 995 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/4c7465a03792f8ffbc3da94133c575fd0fb609fdbin0 -> 2480 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/4e22436534f7ddda6023610945ad3fb84b08d5f2bin0 -> 2 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/4efdd9552994e50cf0e8ad8f6869617e3e6df619bin0 -> 218 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/4f4c26fc8981a82def4bcf89f87acfb7a7dccd12bin0 -> 153 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/50c35604d27ae3a4ff73ce17b732c0d53a8f349ebin0 -> 331 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/51211af99f2a4ac87c1c641a12b7a7b959f002e7bin0 -> 3 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/55011c61bb58706f7b17f11bddc631d7eb42a119bin0 -> 135 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/551546026dfe20045855431e4c080643ecc649b8bin0 -> 902 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/57c83eb9c9a089aa1ab86366da0811f717b038f9bin0 -> 844 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/5a034d850b354a2214b09f0617f30ddaa193d870bin0 -> 126 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/5c85ceaa041ec1771c68bdfcba6a9cd0a6344948bin0 -> 1063 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/62d6104e71b6395eeaa1b49c4f765b7a60bd6ff1bin0 -> 358 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/686671b3b022759c727efe542acdfde5fc20ae75bin0 -> 289 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/690363830d846fde982978f7a272efb319aba9bcbin0 -> 126 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/69a692732a936cc3828f63652848002b3fe3a435bin0 -> 339 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/69e22aaa579ee53595e6056db92c810715ceaafdbin0 -> 117 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/6a57403d937cbde464b34234a7337290f69dc06bbin0 -> 2762 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/6ce6b8051d4a3b36ecb7def5fea922158df41b17bin0 -> 577 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/6e7d12ff2919fcb6e6bc8abc17704b051cd331f4bin0 -> 332 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/6fa9f5ebf1422d95d84776798d3daab6392c4373bin0 -> 611 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/6fefd1d81cf134070c52ded64e18c4af5d6bbf68bin0 -> 324 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/70ebe0d4b36bbab381551e76da348db86befb8eebin0 -> 609 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/717964c88a8f58cded91ceda5f671810d22bdaa2bin0 -> 1085 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/7609c86bdcdf1341dcb7071412941fa5c077721bbin0 -> 495 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/774167b00ab27912f8e78bfd2e3d39e0239b9873bin0 -> 774 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/7754fb0cc9a31fd3b039fa813826615451cb93edbin0 -> 349 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/7919c53b964111b4ad091f41cec0574d1cb5be68bin0 -> 1670 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/7b224f368d1f355febd30215deaf8fa9b11d48afbin0 -> 135 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/7b2d2d12df2087abb44a8438f1c7ea308ffe16dcbin0 -> 584 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/7db619b14a5b41ef2ea72f6ed50bc3222c92008cbin0 -> 2778 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/7fa5a0da8c3d5dbb7c0239d7746dfcc6fa349c44bin0 -> 2538 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/83e1ff87052fcf0a295f517908437ce3ec8c3d12bin0 -> 589 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/8836449903a9055d2c819f1df8640599fc127141bin0 -> 762 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/8d004499628b6ed79de469223ab62454203a265fbin0 -> 478 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/9023a6c7f1c63ff0b75b849e4755330e99203134bin0 -> 556 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/92c6d71fa16a5bdc100739558de6b93ae1d8a503bin0 -> 334 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/941b82fe6daa2f4352e40fe63ec19a11476d4ab1bin0 -> 288 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/9d781a671ecba151d1e1981abba8b786228f6a10bin0 -> 656 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/a17bf522b252ba23f1ca4b42417aa8f124c1da88bin0 -> 183 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/a6af46f15f2ed5a6bd386fd3873d2721dc97bc83bin0 -> 999 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/aac35375179c3d2bb4a989199ff53e61b2932016bin0 -> 1485 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/acadd490cdf801aab3030c05259f236486e220d7bin0 -> 157 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/acc6d2f9f7675eb304ec822db3f534c598d651c4bin0 -> 1113 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/adb71b5cf8f2be28b6c83bf06cdb7f902484d83cbin0 -> 357 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/af4f83441796a7ac67555445851416adc02a42d1bin0 -> 540 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/b753e14020c99abb2881c03dcd804a5dfec839abbin0 -> 588 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/bb4531b735c2020482c5129e47a5ea48ed403974bin0 -> 99 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/c6a3e7f64c82dd3179cda6cead0e6ee9273c1c0fbin0 -> 2647 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/c74d256a196e60a949648988b9356d3a3072ee25bin0 -> 581 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/c8fdfe97b51c909c756b64690190dcece85be226bin0 -> 312 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/cfd3a43762d6d2a31623c4ac47f87116230b2476bin0 -> 159 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/d3428aa728010662173909467f09ebaa06762adebin0 -> 382 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/d43e4aeb7c2b693185eb565551026fbb5cd43e1abin0 -> 501 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/daf8d904c3ffb96e4a93db65231ce11c8dcbaa13bin0 -> 975 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/db9c9d5c699d60365433a924be9626ae19554facbin0 -> 931 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/dda3319e9709921f533039b5a8cd4b80a7458baebin0 -> 191 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/de63782e6e4c00cfca5e67994638d3af631ff36ebin0 -> 134 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/e0154c05d36e1aa8be5a3565060c16c5e022b32bbin0 -> 1805 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/e02f1cedfa5dcb4f3229efb3b45a77b0e237af19bin0 -> 426 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/e338a95654d105d4956fcd11f1232714010e6e76bin0 -> 1800 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/e6369f11ef7abb23bbf27d3d8c536da569321ae7bin0 -> 520 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/eb7d414eb5c3fdc62bd419b096a11731de84225fbin0 -> 690 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/ed0bd0662d2819ea276b5c2d6bcf35edd70191dabin0 -> 1142 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/ee088a031e6943efb877e9a3b8358a7315fcc703bin0 -> 294 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/ef4de892e052ae14f2aadd35eeab00429dde5e7ebin0 -> 683 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/ef8e81dceb5aa848dd47748f5499722188dad63cbin0 -> 737 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/f2a5bfaea48014d5fc4c581da5ca9f8b85d210fabin0 -> 323 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/f4868f08b07effd8338f23a12186e0c39c0004fdbin0 -> 724 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/f4b0d4c72dc7c7da532f9ea84131a979a6241a55bin0 -> 380 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/f63e15cd167a055eb187db5fa75d5c296c607feabin0 -> 641 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/f8ade6c2559a0cc772f4b2913b8277458e3b8779bin0 -> 601 bytes
-rw-r--r--fuzz/corpus/fuzz_ds_ptree/fc2d9c7fdcca93fe201c398e41f6b31b63365181bin0 -> 466 bytes
-rw-r--r--fuzz/corpus/fuzz_libinjection/0d2f951037b2a99323a6f292bed158dcb84f8525bin0 -> 46 bytes
-rw-r--r--fuzz/corpus/fuzz_libinjection/101
-rw-r--r--fuzz/corpus/fuzz_libinjection/111
-rw-r--r--fuzz/corpus/fuzz_libinjection/15b476de3caa02284e485d66b68081608ae4faf51
-rw-r--r--fuzz/corpus/fuzz_libinjection/1a38ab89c73b1bb6a4d06294c94b413f9ad0822e1
-rw-r--r--fuzz/corpus/fuzz_libinjection/21
-rw-r--r--fuzz/corpus/fuzz_libinjection/201
-rw-r--r--fuzz/corpus/fuzz_libinjection/211
-rw-r--r--fuzz/corpus/fuzz_libinjection/221
-rw-r--r--fuzz/corpus/fuzz_libinjection/31
-rw-r--r--fuzz/corpus/fuzz_libinjection/301
-rw-r--r--fuzz/corpus/fuzz_libinjection/311
-rw-r--r--fuzz/corpus/fuzz_libinjection/321
-rw-r--r--fuzz/corpus/fuzz_libinjection/331
-rw-r--r--fuzz/corpus/fuzz_libinjection/33aa651e011ff40ba1edd9950093275800b9a40cbin0 -> 58 bytes
-rw-r--r--fuzz/corpus/fuzz_libinjection/341
-rw-r--r--fuzz/corpus/fuzz_libinjection/3450506a01feb1c676c383da2351d81c95e361b91
-rw-r--r--fuzz/corpus/fuzz_libinjection/351
-rw-r--r--fuzz/corpus/fuzz_libinjection/361
-rw-r--r--fuzz/corpus/fuzz_libinjection/371
-rw-r--r--fuzz/corpus/fuzz_libinjection/381
-rw-r--r--fuzz/corpus/fuzz_libinjection/391
-rw-r--r--fuzz/corpus/fuzz_libinjection/39a9b3ad3544180f4614c356bec4305a940c27bc1
-rw-r--r--fuzz/corpus/fuzz_libinjection/41
-rw-r--r--fuzz/corpus/fuzz_libinjection/401
-rw-r--r--fuzz/corpus/fuzz_libinjection/411
-rw-r--r--fuzz/corpus/fuzz_libinjection/421
-rw-r--r--fuzz/corpus/fuzz_libinjection/431
-rw-r--r--fuzz/corpus/fuzz_libinjection/441
-rw-r--r--fuzz/corpus/fuzz_libinjection/451
-rw-r--r--fuzz/corpus/fuzz_libinjection/461
-rw-r--r--fuzz/corpus/fuzz_libinjection/471
-rw-r--r--fuzz/corpus/fuzz_libinjection/481
-rw-r--r--fuzz/corpus/fuzz_libinjection/491
-rw-r--r--fuzz/corpus/fuzz_libinjection/51
-rw-r--r--fuzz/corpus/fuzz_libinjection/501
-rw-r--r--fuzz/corpus/fuzz_libinjection/511
-rw-r--r--fuzz/corpus/fuzz_libinjection/521
-rw-r--r--fuzz/corpus/fuzz_libinjection/5202e03fa50b3bc1b55fb03faa3c26659e6fcee81
-rw-r--r--fuzz/corpus/fuzz_libinjection/531
-rw-r--r--fuzz/corpus/fuzz_libinjection/541
-rw-r--r--fuzz/corpus/fuzz_libinjection/551
-rw-r--r--fuzz/corpus/fuzz_libinjection/561
-rw-r--r--fuzz/corpus/fuzz_libinjection/571
-rw-r--r--fuzz/corpus/fuzz_libinjection/581
-rw-r--r--fuzz/corpus/fuzz_libinjection/591
-rw-r--r--fuzz/corpus/fuzz_libinjection/61
-rw-r--r--fuzz/corpus/fuzz_libinjection/71
-rw-r--r--fuzz/corpus/fuzz_libinjection/81
-rw-r--r--fuzz/corpus/fuzz_libinjection/85e53271e14006f0265921d02d4d736cdc580b0b1
-rw-r--r--fuzz/corpus/fuzz_libinjection/91
-rw-r--r--fuzz/corpus/fuzz_libinjection/9d1de8279add3b6d037aa2a801da30d45f91cf8d1
-rw-r--r--fuzz/corpus/fuzz_libinjection/c487a9ed6ce4beef9e9ebfa821e7181c68476088bin0 -> 25 bytes
-rw-r--r--fuzz/corpus/fuzz_libinjection/cc7ddbb1c7ce7d7181615313b0c6ac81575c76682
-rw-r--r--fuzz/corpus/fuzz_libinjection/cf98534696ff97a4f2f1f9f96fdfba41cad2057d2
-rw-r--r--fuzz/corpus/fuzz_serialization/08e28514b30a7df231e574d430f9207be60081a5bin0 -> 14 bytes
-rw-r--r--fuzz/corpus/fuzz_serialization/0bd1690046cf11535e1fe7ef887bd881bc26e248bin86 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_serialization/0bf770e429cba6c9fd4e3c5275572951c8bb7b0dbin30 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_serialization/10420923df54bfca05312d5fafaa4189373b4683bin26 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_serialization/1aa0ba13369b1e0c11cdfb707ee96bbc0077635fbin0 -> 659 bytes
-rw-r--r--fuzz/corpus/fuzz_serialization/2b88205b31bcff3b918131c9f6accbd0dd820eecbin0 -> 702 bytes
-rw-r--r--fuzz/corpus/fuzz_serialization/35fb4e382eea90c8483725b23c933d4cc418df471
-rw-r--r--fuzz/corpus/fuzz_serialization/405c78f0be0c46d2888206056cbad22223a9d801bin0 -> 1142 bytes
-rw-r--r--fuzz/corpus/fuzz_serialization/4778131281f96295cef3f8c9929d3870d88ac5a8bin0 -> 162 bytes
-rw-r--r--fuzz/corpus/fuzz_serialization/50ccf2ef2a396f9181f5233cb5943f65308ad506bin59 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_serialization/52a719f9d01e6a1882f97bc011e52c80f807e9551
-rw-r--r--fuzz/corpus/fuzz_serialization/53e7833e9616f944ea630228d8443ee2f62f647fbin0 -> 703 bytes
-rw-r--r--fuzz/corpus/fuzz_serialization/54575b941c0641906092a4d2eb88d4b571cd7244bin705 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_serialization/5df39e5d3b76ed758bd70bab5c02fb4b1913565cbin1482 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_serialization/6046a35020d5b394b3d7458fac00f154e4eb9135bin0 -> 58 bytes
-rw-r--r--fuzz/corpus/fuzz_serialization/63c9f30967ffc232fd1b52b7b3f0b9a99051e81ebin163 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_serialization/77206cbd399692b257926ffad2150642cb10dfbfbin0 -> 142 bytes
-rw-r--r--fuzz/corpus/fuzz_serialization/82bb3eab86d4063ea4a3cb97821feb07cecf7b721
-rw-r--r--fuzz/corpus/fuzz_serialization/83631c962f6eb3da79b4ac7c8c7074b8d62276791
-rw-r--r--fuzz/corpus/fuzz_serialization/85d363c3f0967b1c9d3ec9d1038fd1c153a9cb67bin0 -> 846 bytes
-rw-r--r--fuzz/corpus/fuzz_serialization/8ac56fc7a60893ae2e6019bc00644af784c50067bin0 -> 1357 bytes
-rw-r--r--fuzz/corpus/fuzz_serialization/97f9c819682d7ddc67733f4ba04511c2005d2660bin0 -> 704 bytes
-rw-r--r--fuzz/corpus/fuzz_serialization/9dae31ee55b9d421f11caa6fd6257faf8b992675 (renamed from fuzz/corpus/fuzz_serialization/aa564c1c9f0278ad73a1958433ef4305f9ac71fd)bin109 -> 108 bytes
-rw-r--r--fuzz/corpus/fuzz_serialization/a0de36639862a94a491974369a7c45a16ed4ff6ebin261 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_serialization/a5dd6d24cfa78a8faba860c8806bac4ba7540effbin1549 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_serialization/b2107343881e2efae5b729ef8f64234a7d772f3dbin850 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_serialization/b59e95164582a933229e86ed21cbcdd70010faecbin706 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_serialization/bcbec15886272236f8be41e4749d352051bd217ebin0 -> 48 bytes
-rw-r--r--fuzz/corpus/fuzz_serialization/df3387059bc65a41f137c3292737f7c2891ac2a1bin709 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_serialization/eb4911efad5e1499cdfcd23a6e9bab9902b8a05ebin49 -> 0 bytes
-rw-r--r--fuzz/corpus/fuzz_serialization/f0f58b2a1c62c37d7b8bc50a9db2d8d870e8b3a7bin0 -> 12 bytes
-rw-r--r--fuzz/corpus/fuzz_serialization/f96555266adfc22b92ecd46749406be33e27beaabin660 -> 0 bytes
-rw-r--r--fuzz/fuzz_alg_bytestream.c13
-rw-r--r--fuzz/fuzz_config.cpp47
-rw-r--r--fuzz/fuzz_ds_ahocorasick.cpp27
-rw-r--r--fuzz/fuzz_ds_ptree.cpp6
-rw-r--r--fuzz/fuzz_libinjection.c25
-rw-r--r--fuzz/fuzz_ndpi_reader.c2
-rw-r--r--fuzz/fuzz_serialization.cpp2
-rw-r--r--fuzz/ipv4_addresses.txt6
-rw-r--r--src/include/ndpi_api.h2
-rw-r--r--src/include/ndpi_main.h4
-rw-r--r--src/lib/ndpi_main.c53
-rw-r--r--src/lib/ndpi_serializer.c2
-rw-r--r--src/lib/ndpi_utils.c5
346 files changed, 256 insertions, 59 deletions
diff --git a/.gitignore b/.gitignore
index d4aa51370..12f83d067 100644
--- a/.gitignore
+++ b/.gitignore
@@ -60,6 +60,7 @@
/fuzz/fuzz_alg_jitter
/fuzz/fuzz_alg_crc32_md5
/fuzz/fuzz_alg_ses_des
+/fuzz/fuzz_alg_bytestream
/fuzz/fuzz_config
/fuzz/fuzz_community_id
/fuzz/fuzz_serialization
@@ -68,6 +69,7 @@
/fuzz/fuzz_ds_tree
/fuzz/fuzz_ds_ptree
/fuzz/fuzz_ds_ahocorasick
+/fuzz/fuzz_libinjection
/fuzz/fuzz_ndpi_reader_alloc_fail_seed_corpus.zip
/fuzz/fuzz_ndpi_reader_seed_corpus.zip
/fuzz/fuzz_quic_get_crypto_data_seed_corpus.zip
@@ -80,11 +82,13 @@
/fuzz/fuzz_alg_jitter_seed_corpus.zip
/fuzz/fuzz_alg_crc32_md5_seed_corpus.zip
/fuzz/fuzz_alg_hw_rsi_outliers_da_seed_corpus.zip
+/fuzz/fuzz_alg_bytestream_seed_corpus.zip
/fuzz/fuzz_ds_patricia_seed_corpus.zip
/fuzz/fuzz_ds_libcache_seed_corpus.zip
/fuzz/fuzz_ds_tree_seed_corpus.zip
/fuzz/fuzz_ds_ptree_seed_corpus.zip
/fuzz/fuzz_ds_ahocorasick_seed_corpus.zip
+/fuzz/fuzz_libinjection_seed_corpus.zip
/fuzz/fuzz_*.dict
/influxdb/Makefile
/install-sh
diff --git a/fuzz/Makefile.am b/fuzz/Makefile.am
index 6bbc3ca08..7e4e922ee 100644
--- a/fuzz/Makefile.am
+++ b/fuzz/Makefile.am
@@ -1,8 +1,10 @@
bin_PROGRAMS = fuzz_process_packet fuzz_ndpi_reader fuzz_ndpi_reader_alloc_fail fuzz_quic_get_crypto_data fuzz_config fuzz_community_id fuzz_serialization
#Alghoritms
-bin_PROGRAMS += fuzz_alg_bins fuzz_alg_hll fuzz_alg_hw_rsi_outliers_da fuzz_alg_jitter fuzz_alg_ses_des fuzz_alg_crc32_md5
+bin_PROGRAMS += fuzz_alg_bins fuzz_alg_hll fuzz_alg_hw_rsi_outliers_da fuzz_alg_jitter fuzz_alg_ses_des fuzz_alg_crc32_md5 fuzz_alg_bytestream
#Data structures
bin_PROGRAMS += fuzz_ds_patricia fuzz_ds_ahocorasick fuzz_ds_libcache fuzz_ds_tree fuzz_ds_ptree
+#Third party
+bin_PROGRAMS += fuzz_libinjection
fuzz_process_packet_SOURCES = fuzz_process_packet.c fuzz_common_code.c
fuzz_process_packet_CFLAGS = @NDPI_CFLAGS@ $(CXXFLAGS)
@@ -174,6 +176,19 @@ fuzz_alg_crc32_md5_LINK=$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CXX) @NDPI_CFLAGS@ $(AM_CXXFLAGS) $(CXXFLAGS) \
$(fuzz_alg_crc32_md5_LDFLAGS) @NDPI_LDFLAGS@ $(LDFLAGS) -o $@
+fuzz_alg_bytestream_SOURCES = fuzz_alg_bytestream.c
+fuzz_alg_bytestream_CFLAGS = @NDPI_CFLAGS@ $(CXXFLAGS)
+fuzz_alg_bytestream_LDADD = ../src/lib/libndpi.a $(ADDITIONAL_LIBS)
+fuzz_alg_bytestream_LDFLAGS = $(LIBS)
+if HAS_FUZZLDFLAGS
+fuzz_alg_bytestream_CFLAGS += $(LIB_FUZZING_ENGINE)
+fuzz_alg_bytestream_LDFLAGS += $(LIB_FUZZING_ENGINE)
+endif
+# force usage of CXX for linker
+fuzz_alg_bytestream_LINK=$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXX) @NDPI_CFLAGS@ $(AM_CXXFLAGS) $(CXXFLAGS) \
+ $(fuzz_alg_bytestream_LDFLAGS) @NDPI_LDFLAGS@ $(LDFLAGS) -o $@
+
fuzz_alg_ses_des_SOURCES = fuzz_alg_ses_des.cpp fuzz_common_code.c
fuzz_alg_ses_des_CXXFLAGS = @NDPI_CFLAGS@ $(CXXFLAGS)
fuzz_alg_ses_des_CFLAGS = @NDPI_CFLAGS@ $(CXXFLAGS)
@@ -264,6 +279,20 @@ fuzz_ds_ptree_LINK=$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CXX) @NDPI_CFLAGS@ $(AM_CXXFLAGS) $(CXXFLAGS) \
$(fuzz_ds_ptree_LDFLAGS) @NDPI_LDFLAGS@ $(LDFLAGS) -o $@
+fuzz_libinjection_SOURCES = fuzz_libinjection.c
+fuzz_libinjection_CFLAGS = @NDPI_CFLAGS@ $(CXXFLAGS)
+fuzz_libinjection_LDADD = ../src/lib/libndpi.a $(ADDITIONAL_LIBS)
+fuzz_libinjection_LDFLAGS = $(LIBS)
+if HAS_FUZZLDFLAGS
+fuzz_libinjection_CFLAGS += $(LIB_FUZZING_ENGINE)
+fuzz_libinjection_LDFLAGS += $(LIB_FUZZING_ENGINE)
+endif
+# force usage of CXX for linker
+fuzz_libinjection_LINK=$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ $(LIBTOOLFLAGS) --mode=link $(CXX) @NDPI_CFLAGS@ $(AM_CXXFLAGS) $(CXXFLAGS) \
+ $(fuzz_libinjection_LDFLAGS) @NDPI_LDFLAGS@ $(LDFLAGS) -o $@
+
+
# required for Google oss-fuzz
# see https://github.com/google/oss-fuzz/tree/master/projects/ndpi
@@ -350,8 +379,18 @@ files_corpus_fuzz_ds_ptree := $(wildcard corpus/fuzz_ds_ptree/*)
fuzz_ds_ptree_seed_corpus.zip: $(files_corpus_fuzz_ds_ptree)
zip -j fuzz_ds_ptree_seed_corpus.zip $(files_corpus_fuzz_ds_ptree)
+files_corpus_fuzz_alg_bytestream := $(wildcard corpus/fuzz_alg_bytestream/*)
+
+fuzz_alg_bytestream_seed_corpus.zip: $(files_corpus_fuzz_alg_bytestream)
+ zip -j fuzz_alg_bytestream_seed_corpus.zip $(files_corpus_fuzz_alg_bytestream)
+
+files_corpus_fuzz_libinjection := $(wildcard corpus/fuzz_libinjection/*)
+
+fuzz_libinjection_seed_corpus.zip: $(files_corpus_fuzz_libinjection)
+ zip -j fuzz_libinjection_seed_corpus.zip $(files_corpus_fuzz_libinjection)
+
-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 fuzz_serialization_seed_corpus.zip fuzz_ds_ptree_seed_corpus.zip fuzz_alg_crc32_md5_seed_corpus.zip
+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 fuzz_serialization_seed_corpus.zip fuzz_ds_ptree_seed_corpus.zip fuzz_alg_crc32_md5_seed_corpus.zip fuzz_alg_bytestream_seed_corpus.zip fuzz_libinjection_seed_corpus.zip
#Create dictionaries exactly as expected by oss-fuzz.
#This way, if we need to change/update/add something,
@@ -368,16 +407,19 @@ distdir:
-o -name '*.h' \
-o -name '*.cpp' \
-o -name '*.dict' \
+ -o -name 'ipv4_addresses.txt' \
-o -path './corpus/fuzz_quic_get_crypto_data/*' \
-o -path './corpus/fuzz_config/*' \
-o -path './corpus/fuzz_serialization/*' \
-o -path './corpus/fuzz_community_id/*' \
+ -o -path './corpus/fuzz_libinjection/*' \
-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_crc32_md5/*' \
-o -path './corpus/fuzz_alg_hw_rsi_outliers_da/*' \
+ -o -path './corpus/fuzz_alg_bytestream/*' \
-o -path './corpus/fuzz_ds_ahocorasick/*' \
-o -path './corpus/fuzz_ds_libcache/*' \
-o -path './corpus/fuzz_ds_tree/*' \
diff --git a/fuzz/corpus/fuzz_alg_bytestream/00f699c111a4216c827906dddc7e53d2676c436c b/fuzz/corpus/fuzz_alg_bytestream/00f699c111a4216c827906dddc7e53d2676c436c
new file mode 100644
index 000000000..78603a1d9
--- /dev/null
+++ b/fuzz/corpus/fuzz_alg_bytestream/00f699c111a4216c827906dddc7e53d2676c436c
@@ -0,0 +1 @@
+570 \ No newline at end of file
diff --git a/fuzz/corpus/fuzz_alg_bytestream/1 b/fuzz/corpus/fuzz_alg_bytestream/1
new file mode 100644
index 000000000..cc503f5be
--- /dev/null
+++ b/fuzz/corpus/fuzz_alg_bytestream/1
@@ -0,0 +1 @@
+59708719594136008472212676481906
diff --git a/fuzz/corpus/fuzz_alg_bytestream/1c45e235b337db8b9e98bf2aa0ee02dde9384efa b/fuzz/corpus/fuzz_alg_bytestream/1c45e235b337db8b9e98bf2aa0ee02dde9384efa
new file mode 100644
index 000000000..6c89c9fb3
--- /dev/null
+++ b/fuzz/corpus/fuzz_alg_bytestream/1c45e235b337db8b9e98bf2aa0ee02dde9384efa
@@ -0,0 +1 @@
+5705(770(777 \ No newline at end of file
diff --git a/fuzz/corpus/fuzz_alg_bytestream/2 b/fuzz/corpus/fuzz_alg_bytestream/2
new file mode 100644
index 000000000..a92ac83bd
--- /dev/null
+++ b/fuzz/corpus/fuzz_alg_bytestream/2
@@ -0,0 +1 @@
+2Bba5a7FEEcfced4fbbBfFEe16bfcaA4
diff --git a/fuzz/corpus/fuzz_alg_bytestream/7f6a3512755b96414b7dfe5a21d2952a9cc70333 b/fuzz/corpus/fuzz_alg_bytestream/7f6a3512755b96414b7dfe5a21d2952a9cc70333
new file mode 100644
index 000000000..4474da2e3
--- /dev/null
+++ b/fuzz/corpus/fuzz_alg_bytestream/7f6a3512755b96414b7dfe5a21d2952a9cc70333
@@ -0,0 +1 @@
+570(77247906: \ No newline at end of file
diff --git a/fuzz/corpus/fuzz_alg_bytestream/b6589fc6ab0dc82cf12099d1c2d40ab994e8410c b/fuzz/corpus/fuzz_alg_bytestream/b6589fc6ab0dc82cf12099d1c2d40ab994e8410c
new file mode 100644
index 000000000..c22708346
--- /dev/null
+++ b/fuzz/corpus/fuzz_alg_bytestream/b6589fc6ab0dc82cf12099d1c2d40ab994e8410c
@@ -0,0 +1 @@
+0 \ No newline at end of file
diff --git a/fuzz/corpus/fuzz_alg_bytestream/b7103ca278a75cad8f7d065acda0c2e80da0b7dc b/fuzz/corpus/fuzz_alg_bytestream/b7103ca278a75cad8f7d065acda0c2e80da0b7dc
new file mode 100644
index 000000000..d7765fe47
--- /dev/null
+++ b/fuzz/corpus/fuzz_alg_bytestream/b7103ca278a75cad8f7d065acda0c2e80da0b7dc
@@ -0,0 +1 @@
+70 \ No newline at end of file
diff --git a/fuzz/corpus/fuzz_alg_bytestream/d2418811df5936bdb530e9c66aca38f4fc6da70c b/fuzz/corpus/fuzz_alg_bytestream/d2418811df5936bdb530e9c66aca38f4fc6da70c
new file mode 100644
index 000000000..90f378613
--- /dev/null
+++ b/fuzz/corpus/fuzz_alg_bytestream/d2418811df5936bdb530e9c66aca38f4fc6da70c
@@ -0,0 +1 @@
+5700772212676481906: \ No newline at end of file
diff --git a/fuzz/corpus/fuzz_config/1d0509e291e563f66715ddb3476689931516f533 b/fuzz/corpus/fuzz_config/1d0509e291e563f66715ddb3476689931516f533
deleted file mode 100644
index eaafc77ce..000000000
--- a/fuzz/corpus/fuzz_config/1d0509e291e563f66715ddb3476689931516f533
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/290a66605b81b38623979b32de5e552f40732dad b/fuzz/corpus/fuzz_config/290a66605b81b38623979b32de5e552f40732dad
deleted file mode 100644
index 3e80313c5..000000000
--- a/fuzz/corpus/fuzz_config/290a66605b81b38623979b32de5e552f40732dad
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/3036bf1df14f0ad0c2b5614e51789f575af97dfb b/fuzz/corpus/fuzz_config/3036bf1df14f0ad0c2b5614e51789f575af97dfb
new file mode 100644
index 000000000..0053008b5
--- /dev/null
+++ b/fuzz/corpus/fuzz_config/3036bf1df14f0ad0c2b5614e51789f575af97dfb
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/3bf49bd80bf3c787f49222fc50c41f48f85fa013 b/fuzz/corpus/fuzz_config/3bf49bd80bf3c787f49222fc50c41f48f85fa013
new file mode 100644
index 000000000..05a402637
--- /dev/null
+++ b/fuzz/corpus/fuzz_config/3bf49bd80bf3c787f49222fc50c41f48f85fa013
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/3f22430a14710ba1d01f3547b60aded67efb9833 b/fuzz/corpus/fuzz_config/3f22430a14710ba1d01f3547b60aded67efb9833
new file mode 100644
index 000000000..9c2b1e5c6
--- /dev/null
+++ b/fuzz/corpus/fuzz_config/3f22430a14710ba1d01f3547b60aded67efb9833
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/44446f3b2a2200f31349b0ab61076e52bd8b0efd b/fuzz/corpus/fuzz_config/44446f3b2a2200f31349b0ab61076e52bd8b0efd
deleted file mode 100644
index ab8867878..000000000
--- a/fuzz/corpus/fuzz_config/44446f3b2a2200f31349b0ab61076e52bd8b0efd
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/4714c051ed397aa1778184fc9ba513f77f17a511 b/fuzz/corpus/fuzz_config/4714c051ed397aa1778184fc9ba513f77f17a511
new file mode 100644
index 000000000..dffcb7aa1
--- /dev/null
+++ b/fuzz/corpus/fuzz_config/4714c051ed397aa1778184fc9ba513f77f17a511
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/4e873d14a5b6764f075247f14e69a615a9c702d0 b/fuzz/corpus/fuzz_config/4e873d14a5b6764f075247f14e69a615a9c702d0
new file mode 100644
index 000000000..da1238a44
--- /dev/null
+++ b/fuzz/corpus/fuzz_config/4e873d14a5b6764f075247f14e69a615a9c702d0
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/579120e2b849fa886d3e00e85da1aadaf012a530 b/fuzz/corpus/fuzz_config/579120e2b849fa886d3e00e85da1aadaf012a530
deleted file mode 100644
index ad41b8e05..000000000
--- a/fuzz/corpus/fuzz_config/579120e2b849fa886d3e00e85da1aadaf012a530
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/5eaf59d9cedde7668db1179a10af6d41cfd25acb b/fuzz/corpus/fuzz_config/5eaf59d9cedde7668db1179a10af6d41cfd25acb
deleted file mode 100644
index 6c2ab2319..000000000
--- a/fuzz/corpus/fuzz_config/5eaf59d9cedde7668db1179a10af6d41cfd25acb
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/63cf7bf35278ec03c440970b1324abeca2526d14 b/fuzz/corpus/fuzz_config/63cf7bf35278ec03c440970b1324abeca2526d14
deleted file mode 100644
index 60ee5fc13..000000000
--- a/fuzz/corpus/fuzz_config/63cf7bf35278ec03c440970b1324abeca2526d14
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/685a648c4186681d6e5a663fa7797d424dd8181e b/fuzz/corpus/fuzz_config/685a648c4186681d6e5a663fa7797d424dd8181e
new file mode 100644
index 000000000..267619009
--- /dev/null
+++ b/fuzz/corpus/fuzz_config/685a648c4186681d6e5a663fa7797d424dd8181e
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/72d80bd288fdbf7f3cce29f635b3d235c0aeaa74 b/fuzz/corpus/fuzz_config/72d80bd288fdbf7f3cce29f635b3d235c0aeaa74
deleted file mode 100644
index 26b3bb838..000000000
--- a/fuzz/corpus/fuzz_config/72d80bd288fdbf7f3cce29f635b3d235c0aeaa74
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/76bc4759342543f5312d55d4d6e4133c6d298546 b/fuzz/corpus/fuzz_config/76bc4759342543f5312d55d4d6e4133c6d298546
deleted file mode 100644
index a9a24a5de..000000000
--- a/fuzz/corpus/fuzz_config/76bc4759342543f5312d55d4d6e4133c6d298546
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/e499f9f18ca9edd456fd9efd129dbe0f77caa5a0 b/fuzz/corpus/fuzz_config/77281fce6fb40a568b750e97b356153447f92021
index 1326ea786..23259edba 100644
--- a/fuzz/corpus/fuzz_config/e499f9f18ca9edd456fd9efd129dbe0f77caa5a0
+++ b/fuzz/corpus/fuzz_config/77281fce6fb40a568b750e97b356153447f92021
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/7b261995a0ed0a8b6ca544edfd56765963d113be b/fuzz/corpus/fuzz_config/7b261995a0ed0a8b6ca544edfd56765963d113be
new file mode 100644
index 000000000..ff311b19c
--- /dev/null
+++ b/fuzz/corpus/fuzz_config/7b261995a0ed0a8b6ca544edfd56765963d113be
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/7f4baf1ac218c942a8dc127ec07b1fc2ac670262 b/fuzz/corpus/fuzz_config/7f4baf1ac218c942a8dc127ec07b1fc2ac670262
deleted file mode 100644
index d1c8e3cbb..000000000
--- a/fuzz/corpus/fuzz_config/7f4baf1ac218c942a8dc127ec07b1fc2ac670262
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/828f8f1454722c92c14f9b25ad776eb5e676459c b/fuzz/corpus/fuzz_config/828f8f1454722c92c14f9b25ad776eb5e676459c
new file mode 100644
index 000000000..f7835fe77
--- /dev/null
+++ b/fuzz/corpus/fuzz_config/828f8f1454722c92c14f9b25ad776eb5e676459c
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/8bb38a19254c0d699e4d551a9ff65bc7a99e9a63 b/fuzz/corpus/fuzz_config/8bb38a19254c0d699e4d551a9ff65bc7a99e9a63
new file mode 100644
index 000000000..a9f5bc14c
--- /dev/null
+++ b/fuzz/corpus/fuzz_config/8bb38a19254c0d699e4d551a9ff65bc7a99e9a63
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/8ce8bfe5ac7addf5e2c5da6794cf5934678dd06c b/fuzz/corpus/fuzz_config/8ce8bfe5ac7addf5e2c5da6794cf5934678dd06c
deleted file mode 100644
index 95230a07a..000000000
--- a/fuzz/corpus/fuzz_config/8ce8bfe5ac7addf5e2c5da6794cf5934678dd06c
+++ /dev/null
@@ -1,3 +0,0 @@
-P7돝!AV#KQX))!a,q58e!AV#KQX))!a,q58e.V߻ P*Wy"ڬ]%Yq䠀kў
-T;J3sO[5Pv ֈ3;k& K,!+1^'Th T4H+-A3:=W0R]'*b;()O"2vG=scp.V߻ P*Wy"ڬ]%Yq䠀kў
-T;J3sO[5Pv ֈ3;k& K,!+1^'Th T4H+-A3:=W0R]'*b;()O"2vG=scpxfQ',?^BT77OP 6[hw!^ W\q&kQ(hJi%hQK-h pj@ \ No newline at end of file
diff --git a/fuzz/corpus/fuzz_config/907d8cd14928d4035594a91347a407857b868baf b/fuzz/corpus/fuzz_config/907d8cd14928d4035594a91347a407857b868baf
new file mode 100644
index 000000000..394b628e0
--- /dev/null
+++ b/fuzz/corpus/fuzz_config/907d8cd14928d4035594a91347a407857b868baf
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/9220c147a2a2e08183c4fd85d62c7f15247969a6 b/fuzz/corpus/fuzz_config/9220c147a2a2e08183c4fd85d62c7f15247969a6
deleted file mode 100644
index 82d3b40b8..000000000
--- a/fuzz/corpus/fuzz_config/9220c147a2a2e08183c4fd85d62c7f15247969a6
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/1de3ce546c3443fb0ba76988f36f1e42c022d603 b/fuzz/corpus/fuzz_config/a79e2ad75b81e48a7e7153d9f1d2a60740e04360
index 4317945b7..29e3c6d15 100644
--- a/fuzz/corpus/fuzz_config/1de3ce546c3443fb0ba76988f36f1e42c022d603
+++ b/fuzz/corpus/fuzz_config/a79e2ad75b81e48a7e7153d9f1d2a60740e04360
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/ae51624e0c6ecf1897244da20a17ef2052058380 b/fuzz/corpus/fuzz_config/ae51624e0c6ecf1897244da20a17ef2052058380
deleted file mode 100644
index 245f446e3..000000000
--- a/fuzz/corpus/fuzz_config/ae51624e0c6ecf1897244da20a17ef2052058380
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/b00102178b488b3e299f9465f91093894f4649aa b/fuzz/corpus/fuzz_config/b00102178b488b3e299f9465f91093894f4649aa
deleted file mode 100644
index 3e4aa774b..000000000
--- a/fuzz/corpus/fuzz_config/b00102178b488b3e299f9465f91093894f4649aa
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/b160a30be750571b70090c2811c25d0c6ba460d4 b/fuzz/corpus/fuzz_config/b160a30be750571b70090c2811c25d0c6ba460d4
new file mode 100644
index 000000000..22c00b7af
--- /dev/null
+++ b/fuzz/corpus/fuzz_config/b160a30be750571b70090c2811c25d0c6ba460d4
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/b46ee834ea6b1b6b860bbcc0bfad3de77ec72d32 b/fuzz/corpus/fuzz_config/b46ee834ea6b1b6b860bbcc0bfad3de77ec72d32
new file mode 100644
index 000000000..2b7ced466
--- /dev/null
+++ b/fuzz/corpus/fuzz_config/b46ee834ea6b1b6b860bbcc0bfad3de77ec72d32
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/c3dac33fc878793d7aa0012b46fbd67584ecfe86 b/fuzz/corpus/fuzz_config/c3dac33fc878793d7aa0012b46fbd67584ecfe86
deleted file mode 100644
index 9e042e98d..000000000
--- a/fuzz/corpus/fuzz_config/c3dac33fc878793d7aa0012b46fbd67584ecfe86
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/cbf4471e64914dc5eb45a1de426f42723c703cec b/fuzz/corpus/fuzz_config/cbf4471e64914dc5eb45a1de426f42723c703cec
new file mode 100644
index 000000000..64aa513d2
--- /dev/null
+++ b/fuzz/corpus/fuzz_config/cbf4471e64914dc5eb45a1de426f42723c703cec
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/ccc5d3518a38a1c9c89139202aac46507a7b9f08 b/fuzz/corpus/fuzz_config/ccc5d3518a38a1c9c89139202aac46507a7b9f08
new file mode 100644
index 000000000..cd8e2ffec
--- /dev/null
+++ b/fuzz/corpus/fuzz_config/ccc5d3518a38a1c9c89139202aac46507a7b9f08
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/d828ee9bc3dc0de65cb5e0ec6091c5e362fbae50 b/fuzz/corpus/fuzz_config/d828ee9bc3dc0de65cb5e0ec6091c5e362fbae50
deleted file mode 100644
index 411e6dfaf..000000000
--- a/fuzz/corpus/fuzz_config/d828ee9bc3dc0de65cb5e0ec6091c5e362fbae50
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/e063dec4ae4ac11531c42b97ff54614517327eb1 b/fuzz/corpus/fuzz_config/e063dec4ae4ac11531c42b97ff54614517327eb1
new file mode 100644
index 000000000..fdcee70a9
--- /dev/null
+++ b/fuzz/corpus/fuzz_config/e063dec4ae4ac11531c42b97ff54614517327eb1
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/1b27923041cd9943fec04f9e795252294a140884 b/fuzz/corpus/fuzz_config/ecf80e7622e869e8783e6bf9be48bc1dd4a61c13
index 75427c8d2..8caa90571 100644
--- a/fuzz/corpus/fuzz_config/1b27923041cd9943fec04f9e795252294a140884
+++ b/fuzz/corpus/fuzz_config/ecf80e7622e869e8783e6bf9be48bc1dd4a61c13
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/ee595881722ceecd4931d38b08c66192af4b8e75 b/fuzz/corpus/fuzz_config/ee595881722ceecd4931d38b08c66192af4b8e75
deleted file mode 100644
index ca1dd6b17..000000000
--- a/fuzz/corpus/fuzz_config/ee595881722ceecd4931d38b08c66192af4b8e75
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_config/fea0c8b59dc63399afd8a0e6eab1753c444e4833 b/fuzz/corpus/fuzz_config/fea0c8b59dc63399afd8a0e6eab1753c444e4833
new file mode 100644
index 000000000..402b241c1
--- /dev/null
+++ b/fuzz/corpus/fuzz_config/fea0c8b59dc63399afd8a0e6eab1753c444e4833
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/02a2b9e7466b872abc5a767eb232dc1d6e4816b8 b/fuzz/corpus/fuzz_ds_ahocorasick/02a2b9e7466b872abc5a767eb232dc1d6e4816b8
new file mode 100644
index 000000000..d96be86e9
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/02a2b9e7466b872abc5a767eb232dc1d6e4816b8
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/03ad53be4d12007e829eac994224f6ca64e7228f b/fuzz/corpus/fuzz_ds_ahocorasick/03ad53be4d12007e829eac994224f6ca64e7228f
new file mode 100644
index 000000000..d1f1291c1
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/03ad53be4d12007e829eac994224f6ca64e7228f
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/043d681d837a34b44d0d622cd5a3622ff02eba72 b/fuzz/corpus/fuzz_ds_ahocorasick/043d681d837a34b44d0d622cd5a3622ff02eba72
deleted file mode 100644
index 933fe7e1a..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/043d681d837a34b44d0d622cd5a3622ff02eba72
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/05d177ca5e93fabb2166bd7c28a8cf6257c67ef4 b/fuzz/corpus/fuzz_ds_ahocorasick/05d177ca5e93fabb2166bd7c28a8cf6257c67ef4
deleted file mode 100644
index a62c0f2a1..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/05d177ca5e93fabb2166bd7c28a8cf6257c67ef4
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/0bed72f62a06502c94ecfc59416de25809b974ae b/fuzz/corpus/fuzz_ds_ahocorasick/0bed72f62a06502c94ecfc59416de25809b974ae
deleted file mode 100644
index 47f73c1bd..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/0bed72f62a06502c94ecfc59416de25809b974ae
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/0fa79cef56c5f4da6b71a32485bbeed91a3e6203 b/fuzz/corpus/fuzz_ds_ahocorasick/0fa79cef56c5f4da6b71a32485bbeed91a3e6203
deleted file mode 100644
index 79f699879..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/0fa79cef56c5f4da6b71a32485bbeed91a3e6203
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/1005b3b07fd38f41a4925e68904601025e717561 b/fuzz/corpus/fuzz_ds_ahocorasick/1005b3b07fd38f41a4925e68904601025e717561
new file mode 100644
index 000000000..ffb285d00
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/1005b3b07fd38f41a4925e68904601025e717561
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/12e3e23dce00d6af75cb1b5cf07ad6b700dab3b7 b/fuzz/corpus/fuzz_ds_ahocorasick/12e3e23dce00d6af75cb1b5cf07ad6b700dab3b7
new file mode 100644
index 000000000..3d25d6e95
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/12e3e23dce00d6af75cb1b5cf07ad6b700dab3b7
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/139cba76bb0199abdb1889c0cf48a14a18ebe9bc b/fuzz/corpus/fuzz_ds_ahocorasick/139cba76bb0199abdb1889c0cf48a14a18ebe9bc
new file mode 100644
index 000000000..28460624d
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/139cba76bb0199abdb1889c0cf48a14a18ebe9bc
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/154a61898521268affa31f6bbe94d924a40818aa b/fuzz/corpus/fuzz_ds_ahocorasick/154a61898521268affa31f6bbe94d924a40818aa
new file mode 100644
index 000000000..ded5e02a7
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/154a61898521268affa31f6bbe94d924a40818aa
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/1cfcca57c0f0390357f1451b8b7fe8e1d30df833 b/fuzz/corpus/fuzz_ds_ahocorasick/1cfcca57c0f0390357f1451b8b7fe8e1d30df833
new file mode 100644
index 000000000..d98cccbe1
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/1cfcca57c0f0390357f1451b8b7fe8e1d30df833
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/1e17f87333b37b4009f70119882d8ab2d665166d b/fuzz/corpus/fuzz_ds_ahocorasick/1e17f87333b37b4009f70119882d8ab2d665166d
new file mode 100644
index 000000000..b0a9a7414
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/1e17f87333b37b4009f70119882d8ab2d665166d
@@ -0,0 +1 @@
+"""""""""""""""""""""""""""""""""""""bMn1y< uharrrrrrrrCCCCCCCCCCC"""""""""""""""""""""""""""""""""rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr"γ?CCCCCCCCCSCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC"""""""""""""""""""""""""""""""""&?xp5lq3]F ,.e^!
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/21c148221b9132dcc37253edcd045ff7c549f7ce b/fuzz/corpus/fuzz_ds_ahocorasick/21c148221b9132dcc37253edcd045ff7c549f7ce
new file mode 100644
index 000000000..f9f86fcdb
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/21c148221b9132dcc37253edcd045ff7c549f7ce
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/2af1bb5979d693feb8d7f60d08d4fdd771ac2718 b/fuzz/corpus/fuzz_ds_ahocorasick/2af1bb5979d693feb8d7f60d08d4fdd771ac2718
new file mode 100644
index 000000000..6602a0164
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/2af1bb5979d693feb8d7f60d08d4fdd771ac2718
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/2c735ad522e229407f1ab8c335118e80b5779830 b/fuzz/corpus/fuzz_ds_ahocorasick/2c735ad522e229407f1ab8c335118e80b5779830
new file mode 100644
index 000000000..980e43c47
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/2c735ad522e229407f1ab8c335118e80b5779830
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/2ff35048123232a78e60d8f3420332b287b0f773 b/fuzz/corpus/fuzz_ds_ahocorasick/2ff35048123232a78e60d8f3420332b287b0f773
deleted file mode 100644
index 20e52873d..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/2ff35048123232a78e60d8f3420332b287b0f773
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/317a2aa594d0853ff202f8057d2653095d8f36ea b/fuzz/corpus/fuzz_ds_ahocorasick/317a2aa594d0853ff202f8057d2653095d8f36ea
deleted file mode 100644
index d07b49d69..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/317a2aa594d0853ff202f8057d2653095d8f36ea
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/336a77464e94ca4c1d7f672bbb67ea7990540d24 b/fuzz/corpus/fuzz_ds_ahocorasick/336a77464e94ca4c1d7f672bbb67ea7990540d24
new file mode 100644
index 000000000..8762f699b
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/336a77464e94ca4c1d7f672bbb67ea7990540d24
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/3f16a014d67b679493f0d58a243024aaaa803e16 b/fuzz/corpus/fuzz_ds_ahocorasick/3f16a014d67b679493f0d58a243024aaaa803e16
deleted file mode 100644
index 67740538d..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/3f16a014d67b679493f0d58a243024aaaa803e16
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/4341e6b065a9cba995c43d99d94f49f0c49ebca1 b/fuzz/corpus/fuzz_ds_ahocorasick/4341e6b065a9cba995c43d99d94f49f0c49ebca1
deleted file mode 100644
index 9bc58b798..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/4341e6b065a9cba995c43d99d94f49f0c49ebca1
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/4412b1a8aff0c488f5c3cc4da1231c2dbdedeb55 b/fuzz/corpus/fuzz_ds_ahocorasick/4412b1a8aff0c488f5c3cc4da1231c2dbdedeb55
new file mode 100644
index 000000000..fa3aa41b0
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/4412b1a8aff0c488f5c3cc4da1231c2dbdedeb55
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/465c2afda08c7da6e343c77d853a940088162b7b b/fuzz/corpus/fuzz_ds_ahocorasick/465c2afda08c7da6e343c77d853a940088162b7b
new file mode 100644
index 000000000..e47153e67
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/465c2afda08c7da6e343c77d853a940088162b7b
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/49535c6efd404f0cbc925547e7d9fb0b069eee79 b/fuzz/corpus/fuzz_ds_ahocorasick/49535c6efd404f0cbc925547e7d9fb0b069eee79
new file mode 100644
index 000000000..e8e96c10c
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/49535c6efd404f0cbc925547e7d9fb0b069eee79
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/4b1fa94f2b83be23347467ab47e05492df185edf b/fuzz/corpus/fuzz_ds_ahocorasick/4b1fa94f2b83be23347467ab47e05492df185edf
new file mode 100644
index 000000000..dc77cec32
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/4b1fa94f2b83be23347467ab47e05492df185edf
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/4b7a0785ffb61d694acf53da91b2b040d9e37e19 b/fuzz/corpus/fuzz_ds_ahocorasick/4b7a0785ffb61d694acf53da91b2b040d9e37e19
new file mode 100644
index 000000000..2f2f59757
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/4b7a0785ffb61d694acf53da91b2b040d9e37e19
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/4d862ee798be8b896adca8810dcaf8cfdd364bc4 b/fuzz/corpus/fuzz_ds_ahocorasick/4d862ee798be8b896adca8810dcaf8cfdd364bc4
deleted file mode 100644
index 2c8b06e01..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/4d862ee798be8b896adca8810dcaf8cfdd364bc4
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/4e383efd4e347ef2d70ea9f6ff688388600a0aca b/fuzz/corpus/fuzz_ds_ahocorasick/4e383efd4e347ef2d70ea9f6ff688388600a0aca
new file mode 100644
index 000000000..e801ae1ea
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/4e383efd4e347ef2d70ea9f6ff688388600a0aca
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/4f19efda0a66facee2c09c94146659f6439f50c4 b/fuzz/corpus/fuzz_ds_ahocorasick/4f19efda0a66facee2c09c94146659f6439f50c4
new file mode 100644
index 000000000..4c515b0fb
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/4f19efda0a66facee2c09c94146659f6439f50c4
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/50a01934a05c3208fbecdda6588b311b983ad082 b/fuzz/corpus/fuzz_ds_ahocorasick/50a01934a05c3208fbecdda6588b311b983ad082
new file mode 100644
index 000000000..2c4cafe23
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/50a01934a05c3208fbecdda6588b311b983ad082
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/60496a70ac884918a0582b59058311721a8b0e2e b/fuzz/corpus/fuzz_ds_ahocorasick/60496a70ac884918a0582b59058311721a8b0e2e
deleted file mode 100644
index 9bd0b9801..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/60496a70ac884918a0582b59058311721a8b0e2e
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/623e38fe802c821ad817b815f808a5492e871c20 b/fuzz/corpus/fuzz_ds_ahocorasick/623e38fe802c821ad817b815f808a5492e871c20
deleted file mode 100644
index 3f87a9d9c..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/623e38fe802c821ad817b815f808a5492e871c20
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/62a749a5d329509d40f4d2060f6bde3f2db4b6de b/fuzz/corpus/fuzz_ds_ahocorasick/62a749a5d329509d40f4d2060f6bde3f2db4b6de
new file mode 100644
index 000000000..98fa4a7fc
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/62a749a5d329509d40f4d2060f6bde3f2db4b6de
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/a09384231aff9f82af04ee38e22349ab7fd1a555 b/fuzz/corpus/fuzz_ds_ahocorasick/68c0e323bbd159c19570fd5846920da37c63de3c
index 3aed802ef..4aa8b37fe 100644
--- a/fuzz/corpus/fuzz_ds_ahocorasick/a09384231aff9f82af04ee38e22349ab7fd1a555
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/68c0e323bbd159c19570fd5846920da37c63de3c
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/69279e4e0b12475f6b9cc6416d37dcbb9a14577a b/fuzz/corpus/fuzz_ds_ahocorasick/69279e4e0b12475f6b9cc6416d37dcbb9a14577a
new file mode 100644
index 000000000..0bbd324a6
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/69279e4e0b12475f6b9cc6416d37dcbb9a14577a
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/6bb2273d12529ab96590014560aeac1d31f2de8d b/fuzz/corpus/fuzz_ds_ahocorasick/6bb2273d12529ab96590014560aeac1d31f2de8d
deleted file mode 100644
index 9593bb36c..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/6bb2273d12529ab96590014560aeac1d31f2de8d
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/6c3cb2bb4ed7b1eeb7989b5924007425b6bf0cd3 b/fuzz/corpus/fuzz_ds_ahocorasick/6c3cb2bb4ed7b1eeb7989b5924007425b6bf0cd3
new file mode 100644
index 000000000..03bf5f604
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/6c3cb2bb4ed7b1eeb7989b5924007425b6bf0cd3
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/6cada63e7ab4c1c89e9ff4b9766ed042158ab707 b/fuzz/corpus/fuzz_ds_ahocorasick/6cada63e7ab4c1c89e9ff4b9766ed042158ab707
deleted file mode 100644
index e2833b678..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/6cada63e7ab4c1c89e9ff4b9766ed042158ab707
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/6db306e691ee4b8e7026ec0d276b0d9b0bc119ee b/fuzz/corpus/fuzz_ds_ahocorasick/6db306e691ee4b8e7026ec0d276b0d9b0bc119ee
new file mode 100644
index 000000000..f583210c9
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/6db306e691ee4b8e7026ec0d276b0d9b0bc119ee
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/6e54438e59553c7ec563261c63ac5a221d6c90e1 b/fuzz/corpus/fuzz_ds_ahocorasick/6e54438e59553c7ec563261c63ac5a221d6c90e1
new file mode 100644
index 000000000..80158c499
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/6e54438e59553c7ec563261c63ac5a221d6c90e1
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/776a3a38cb2120e3d561dfdd9e44fd4238c8bb0f b/fuzz/corpus/fuzz_ds_ahocorasick/776a3a38cb2120e3d561dfdd9e44fd4238c8bb0f
new file mode 100644
index 000000000..91a14ef39
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/776a3a38cb2120e3d561dfdd9e44fd4238c8bb0f
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/777d0616e337cd787f7e1a8eb8b6c9d95ebef769 b/fuzz/corpus/fuzz_ds_ahocorasick/777d0616e337cd787f7e1a8eb8b6c9d95ebef769
deleted file mode 100644
index 34f477b7f..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/777d0616e337cd787f7e1a8eb8b6c9d95ebef769
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/7d6dad61754d37986f02fb4fdebf76c88924b721 b/fuzz/corpus/fuzz_ds_ahocorasick/7d6dad61754d37986f02fb4fdebf76c88924b721
new file mode 100644
index 000000000..7c9c24705
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/7d6dad61754d37986f02fb4fdebf76c88924b721
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/826cb260348830beae2949391e2c1bb7aa6b2c20 b/fuzz/corpus/fuzz_ds_ahocorasick/826cb260348830beae2949391e2c1bb7aa6b2c20
deleted file mode 100644
index cfe5d0454..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/826cb260348830beae2949391e2c1bb7aa6b2c20
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/85bf45ca4b279439c3943964cd04887a2efcd494 b/fuzz/corpus/fuzz_ds_ahocorasick/85bf45ca4b279439c3943964cd04887a2efcd494
new file mode 100644
index 000000000..1b6a1a38b
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/85bf45ca4b279439c3943964cd04887a2efcd494
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/8a6b341220525d524375490a4e69a3500212a2a5 b/fuzz/corpus/fuzz_ds_ahocorasick/8a6b341220525d524375490a4e69a3500212a2a5
deleted file mode 100644
index 805d69868..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/8a6b341220525d524375490a4e69a3500212a2a5
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/8dfbb3915b3b637fb1502c2ee3e2e415fce3fb17 b/fuzz/corpus/fuzz_ds_ahocorasick/8dfbb3915b3b637fb1502c2ee3e2e415fce3fb17
new file mode 100644
index 000000000..3865f0993
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/8dfbb3915b3b637fb1502c2ee3e2e415fce3fb17
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/8e1036e187eeeddcc7fd08d7c6ff1b4205b1f355 b/fuzz/corpus/fuzz_ds_ahocorasick/8e1036e187eeeddcc7fd08d7c6ff1b4205b1f355
deleted file mode 100644
index 719bd2604..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/8e1036e187eeeddcc7fd08d7c6ff1b4205b1f355
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/91f71999712440ca5447391852cdad9be5d9518e b/fuzz/corpus/fuzz_ds_ahocorasick/91f71999712440ca5447391852cdad9be5d9518e
new file mode 100644
index 000000000..7b59b5a3c
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/91f71999712440ca5447391852cdad9be5d9518e
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/9716238edba975d8983a50ebe002ede8f36f0ef3 b/fuzz/corpus/fuzz_ds_ahocorasick/9716238edba975d8983a50ebe002ede8f36f0ef3
new file mode 100644
index 000000000..7f8daaace
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/9716238edba975d8983a50ebe002ede8f36f0ef3
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/97c2cafc5d282ddaa6138dc3f1c7bc4a38a93d8e b/fuzz/corpus/fuzz_ds_ahocorasick/97c2cafc5d282ddaa6138dc3f1c7bc4a38a93d8e
new file mode 100644
index 000000000..67fc3a71f
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/97c2cafc5d282ddaa6138dc3f1c7bc4a38a93d8e
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/99b476c3cb17d01f8cfea2f61d4520b847e07c38 b/fuzz/corpus/fuzz_ds_ahocorasick/99b476c3cb17d01f8cfea2f61d4520b847e07c38
deleted file mode 100644
index 035b5ec8b..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/99b476c3cb17d01f8cfea2f61d4520b847e07c38
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/9c27bb866b16349315305294074ae44bff7e54ad b/fuzz/corpus/fuzz_ds_ahocorasick/9c27bb866b16349315305294074ae44bff7e54ad
deleted file mode 100644
index 516cbaccc..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/9c27bb866b16349315305294074ae44bff7e54ad
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/9cfc93d48121339ddf7f0207fda639895afcee9a b/fuzz/corpus/fuzz_ds_ahocorasick/9cfc93d48121339ddf7f0207fda639895afcee9a
new file mode 100644
index 000000000..89c70207d
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/9cfc93d48121339ddf7f0207fda639895afcee9a
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/a0bc9499c818ee2793d68d8c1569cbdaefc4fd81 b/fuzz/corpus/fuzz_ds_ahocorasick/a0bc9499c818ee2793d68d8c1569cbdaefc4fd81
new file mode 100644
index 000000000..460c96f01
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/a0bc9499c818ee2793d68d8c1569cbdaefc4fd81
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/a225fb40652e717735e19cb581b689ff4cc10a94 b/fuzz/corpus/fuzz_ds_ahocorasick/a225fb40652e717735e19cb581b689ff4cc10a94
deleted file mode 100644
index 5fa3929dd..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/a225fb40652e717735e19cb581b689ff4cc10a94
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/a3a4c2a17536c11c7ba9126fb67b5eb9b5199f58 b/fuzz/corpus/fuzz_ds_ahocorasick/a3a4c2a17536c11c7ba9126fb67b5eb9b5199f58
deleted file mode 100644
index e80693b5d..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/a3a4c2a17536c11c7ba9126fb67b5eb9b5199f58
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/a4bf32e5ce76c8a6684d02b1193a9ae4384e7f1a b/fuzz/corpus/fuzz_ds_ahocorasick/a4bf32e5ce76c8a6684d02b1193a9ae4384e7f1a
deleted file mode 100644
index e7c26c581..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/a4bf32e5ce76c8a6684d02b1193a9ae4384e7f1a
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/abe0c48360d8463fe9e1434c351266db57fdbb32 b/fuzz/corpus/fuzz_ds_ahocorasick/abe0c48360d8463fe9e1434c351266db57fdbb32
deleted file mode 100644
index 6801fded6..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/abe0c48360d8463fe9e1434c351266db57fdbb32
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/ad877afa0d998ba233fa2d47b46b417e3427d76e b/fuzz/corpus/fuzz_ds_ahocorasick/ad877afa0d998ba233fa2d47b46b417e3427d76e
deleted file mode 100644
index 5889844c6..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/ad877afa0d998ba233fa2d47b46b417e3427d76e
+++ /dev/null
@@ -1 +0,0 @@
-""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""MLLLL""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" \ No newline at end of file
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/b3bdaaa1e6135890da0da803d628ac73de03c388 b/fuzz/corpus/fuzz_ds_ahocorasick/b3bdaaa1e6135890da0da803d628ac73de03c388
new file mode 100644
index 000000000..162e70d3a
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/b3bdaaa1e6135890da0da803d628ac73de03c388
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/b45a0a9f2a405c5dd5d214636d65db272ec49bae b/fuzz/corpus/fuzz_ds_ahocorasick/b45a0a9f2a405c5dd5d214636d65db272ec49bae
deleted file mode 100644
index 6927d0934..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/b45a0a9f2a405c5dd5d214636d65db272ec49bae
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/b5be0470cc34038240a5e46a8a303bc682547c7d b/fuzz/corpus/fuzz_ds_ahocorasick/b5be0470cc34038240a5e46a8a303bc682547c7d
new file mode 100644
index 000000000..d83e0dc62
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/b5be0470cc34038240a5e46a8a303bc682547c7d
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/b94d5b2cf966cf52e69f56b6da301cb3e6c69113 b/fuzz/corpus/fuzz_ds_ahocorasick/b94d5b2cf966cf52e69f56b6da301cb3e6c69113
new file mode 100644
index 000000000..3f58be0fc
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/b94d5b2cf966cf52e69f56b6da301cb3e6c69113
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/b9b62c2834f059a0cecc77a1b2ead0bebf9802b1 b/fuzz/corpus/fuzz_ds_ahocorasick/b9b62c2834f059a0cecc77a1b2ead0bebf9802b1
new file mode 100644
index 000000000..c8c233a78
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/b9b62c2834f059a0cecc77a1b2ead0bebf9802b1
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/ba7bccc10810a844ef20acb4d45f23653f1ed4cc b/fuzz/corpus/fuzz_ds_ahocorasick/ba7bccc10810a844ef20acb4d45f23653f1ed4cc
deleted file mode 100644
index 126cf9251..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/ba7bccc10810a844ef20acb4d45f23653f1ed4cc
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/c012a2977323790cbc2c8b57d09ebf097547bb04 b/fuzz/corpus/fuzz_ds_ahocorasick/c012a2977323790cbc2c8b57d09ebf097547bb04
deleted file mode 100644
index c8fa129fb..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/c012a2977323790cbc2c8b57d09ebf097547bb04
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/c09a9b5c79f1b7f7925e3071f1b2489f208ffe9d b/fuzz/corpus/fuzz_ds_ahocorasick/c09a9b5c79f1b7f7925e3071f1b2489f208ffe9d
deleted file mode 100644
index e8809ab75..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/c09a9b5c79f1b7f7925e3071f1b2489f208ffe9d
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/c9c7120c7fb44d074f838921e3a4eca2277f23a5 b/fuzz/corpus/fuzz_ds_ahocorasick/c9c7120c7fb44d074f838921e3a4eca2277f23a5
new file mode 100644
index 000000000..db0e951d9
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/c9c7120c7fb44d074f838921e3a4eca2277f23a5
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/cb82a4ccd0559b84f3003fa9a4f5fbc685f7eabc b/fuzz/corpus/fuzz_ds_ahocorasick/cb82a4ccd0559b84f3003fa9a4f5fbc685f7eabc
new file mode 100644
index 000000000..e08be7919
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/cb82a4ccd0559b84f3003fa9a4f5fbc685f7eabc
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/ce4eea6ae2e470659e758c9649271a641e56c8cc b/fuzz/corpus/fuzz_ds_ahocorasick/ce4eea6ae2e470659e758c9649271a641e56c8cc
new file mode 100644
index 000000000..00fed7691
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/ce4eea6ae2e470659e758c9649271a641e56c8cc
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/cea18c331ca6cec59fd099065629fb2d9cfb7e0a b/fuzz/corpus/fuzz_ds_ahocorasick/cea18c331ca6cec59fd099065629fb2d9cfb7e0a
new file mode 100644
index 000000000..051ff6aac
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/cea18c331ca6cec59fd099065629fb2d9cfb7e0a
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/cf90e33cc0801d4f52015247dcdcee00ae210a0a b/fuzz/corpus/fuzz_ds_ahocorasick/cf90e33cc0801d4f52015247dcdcee00ae210a0a
new file mode 100644
index 000000000..689805f37
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/cf90e33cc0801d4f52015247dcdcee00ae210a0a
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/d18c1455e3dbc31d072706e4105b576e3b4af411 b/fuzz/corpus/fuzz_ds_ahocorasick/d18c1455e3dbc31d072706e4105b576e3b4af411
deleted file mode 100644
index a3e6ed198..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/d18c1455e3dbc31d072706e4105b576e3b4af411
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/d2b95e4312fd14b0953a7c9c8985929f78e6aabc b/fuzz/corpus/fuzz_ds_ahocorasick/d2b95e4312fd14b0953a7c9c8985929f78e6aabc
new file mode 100644
index 000000000..b65117398
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/d2b95e4312fd14b0953a7c9c8985929f78e6aabc
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/d4313c17a49f5e1e6db729b57fc49c50d5010864 b/fuzz/corpus/fuzz_ds_ahocorasick/d4313c17a49f5e1e6db729b57fc49c50d5010864
deleted file mode 100644
index a1637ffa2..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/d4313c17a49f5e1e6db729b57fc49c50d5010864
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/d63453082276852db11afb5ce6a7aeec380ed457 b/fuzz/corpus/fuzz_ds_ahocorasick/d63453082276852db11afb5ce6a7aeec380ed457
new file mode 100644
index 000000000..895d117b8
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/d63453082276852db11afb5ce6a7aeec380ed457
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/d85ba3fe4414a8294c41a5479ca9dd27a3294b76 b/fuzz/corpus/fuzz_ds_ahocorasick/d85ba3fe4414a8294c41a5479ca9dd27a3294b76
deleted file mode 100644
index 25bfa7852..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/d85ba3fe4414a8294c41a5479ca9dd27a3294b76
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/dadda676c596fc0295f52af417ed755de1701ecb b/fuzz/corpus/fuzz_ds_ahocorasick/dadda676c596fc0295f52af417ed755de1701ecb
deleted file mode 100644
index 75c2387b3..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/dadda676c596fc0295f52af417ed755de1701ecb
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/dcf51a934b620b5cc212780823070ebd50dbdc16 b/fuzz/corpus/fuzz_ds_ahocorasick/dcf51a934b620b5cc212780823070ebd50dbdc16
new file mode 100644
index 000000000..dc31821f9
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/dcf51a934b620b5cc212780823070ebd50dbdc16
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/ddc1f7e2ab9fbad16aefbcecfa50615135555eea b/fuzz/corpus/fuzz_ds_ahocorasick/ddc1f7e2ab9fbad16aefbcecfa50615135555eea
deleted file mode 100644
index 502c7c00b..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/ddc1f7e2ab9fbad16aefbcecfa50615135555eea
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/de42ae3f925cb1591c116e7deea6ed5846e035b5 b/fuzz/corpus/fuzz_ds_ahocorasick/de42ae3f925cb1591c116e7deea6ed5846e035b5
deleted file mode 100644
index aaf8a1002..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/de42ae3f925cb1591c116e7deea6ed5846e035b5
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/e3866ba1859eec0377c563931cd0bdb372d109b6 b/fuzz/corpus/fuzz_ds_ahocorasick/e3866ba1859eec0377c563931cd0bdb372d109b6
new file mode 100644
index 000000000..64d5668e1
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/e3866ba1859eec0377c563931cd0bdb372d109b6
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/e779274511b5fd28af45a5929b3ba1ff4cdd8ed5 b/fuzz/corpus/fuzz_ds_ahocorasick/e779274511b5fd28af45a5929b3ba1ff4cdd8ed5
deleted file mode 100644
index 7c31566a1..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/e779274511b5fd28af45a5929b3ba1ff4cdd8ed5
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/e95a74bccef2fa04191002aa3f1576c8ce8462e0 b/fuzz/corpus/fuzz_ds_ahocorasick/e95a74bccef2fa04191002aa3f1576c8ce8462e0
deleted file mode 100644
index 4571cff48..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/e95a74bccef2fa04191002aa3f1576c8ce8462e0
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/ea586988a98b6744558e063100765eaa0a9bee69 b/fuzz/corpus/fuzz_ds_ahocorasick/ea586988a98b6744558e063100765eaa0a9bee69
new file mode 100644
index 000000000..e95262476
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/ea586988a98b6744558e063100765eaa0a9bee69
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/ececf77f65af9b9ea5f90022a540b77b386d64b7 b/fuzz/corpus/fuzz_ds_ahocorasick/ececf77f65af9b9ea5f90022a540b77b386d64b7
deleted file mode 100644
index 029fc9d1b..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/ececf77f65af9b9ea5f90022a540b77b386d64b7
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/f0249dacbe8a06a608cf6c0cf8973c9901771eac b/fuzz/corpus/fuzz_ds_ahocorasick/f0249dacbe8a06a608cf6c0cf8973c9901771eac
deleted file mode 100644
index 11638819a..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/f0249dacbe8a06a608cf6c0cf8973c9901771eac
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/f20fd0903488d8969146fe8f8fdaa24f55280593 b/fuzz/corpus/fuzz_ds_ahocorasick/f20fd0903488d8969146fe8f8fdaa24f55280593
deleted file mode 100644
index 04508b6da..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/f20fd0903488d8969146fe8f8fdaa24f55280593
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/f26b8ac9baea4eae0f6682e8de949106265a8ec1 b/fuzz/corpus/fuzz_ds_ahocorasick/f26b8ac9baea4eae0f6682e8de949106265a8ec1
new file mode 100644
index 000000000..8a859bae6
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/f26b8ac9baea4eae0f6682e8de949106265a8ec1
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/f29d76560d2c84ccbfe2481bd9c56f1082b477f4 b/fuzz/corpus/fuzz_ds_ahocorasick/f29d76560d2c84ccbfe2481bd9c56f1082b477f4
new file mode 100644
index 000000000..f5ddc8909
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/f29d76560d2c84ccbfe2481bd9c56f1082b477f4
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/f3ecb935c9d00b5fc46918835fa0f84cef89e58d b/fuzz/corpus/fuzz_ds_ahocorasick/f3ecb935c9d00b5fc46918835fa0f84cef89e58d
deleted file mode 100644
index ec0ab5910..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/f3ecb935c9d00b5fc46918835fa0f84cef89e58d
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/f5182a61a5cd67e087328b227ab48da7833f83e0 b/fuzz/corpus/fuzz_ds_ahocorasick/f5182a61a5cd67e087328b227ab48da7833f83e0
deleted file mode 100644
index 22da5eecc..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/f5182a61a5cd67e087328b227ab48da7833f83e0
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/f6dca2adfd75f73ada3c68ff46300fa50410f5d3 b/fuzz/corpus/fuzz_ds_ahocorasick/f6dca2adfd75f73ada3c68ff46300fa50410f5d3
deleted file mode 100644
index cda8d752d..000000000
--- a/fuzz/corpus/fuzz_ds_ahocorasick/f6dca2adfd75f73ada3c68ff46300fa50410f5d3
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/f73678f30e5424ea5b4166929554be60b49348c9 b/fuzz/corpus/fuzz_ds_ahocorasick/f73678f30e5424ea5b4166929554be60b49348c9
new file mode 100644
index 000000000..f3d08a6b6
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/f73678f30e5424ea5b4166929554be60b49348c9
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ahocorasick/fb6dbdd81d0b399df74d81878cde95c566a7306f b/fuzz/corpus/fuzz_ds_ahocorasick/fb6dbdd81d0b399df74d81878cde95c566a7306f
new file mode 100644
index 000000000..8539c2df6
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ahocorasick/fb6dbdd81d0b399df74d81878cde95c566a7306f
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/00b3152badbdc709990d63ccec1805739bbf8447 b/fuzz/corpus/fuzz_ds_ptree/00b3152badbdc709990d63ccec1805739bbf8447
new file mode 100644
index 000000000..67b27a493
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/00b3152badbdc709990d63ccec1805739bbf8447
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/0140b979ed7fbc87e8a647e82173dca8339462ee b/fuzz/corpus/fuzz_ds_ptree/0140b979ed7fbc87e8a647e82173dca8339462ee
new file mode 100644
index 000000000..9e95a2dc3
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/0140b979ed7fbc87e8a647e82173dca8339462ee
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/06b73472d2ec64afd11c3a77d550d7806b33809c b/fuzz/corpus/fuzz_ds_ptree/06b73472d2ec64afd11c3a77d550d7806b33809c
new file mode 100644
index 000000000..046c66ee1
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/06b73472d2ec64afd11c3a77d550d7806b33809c
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/078d6985462cfd48d06f42c78d277a9932efcef6 b/fuzz/corpus/fuzz_ds_ptree/078d6985462cfd48d06f42c78d277a9932efcef6
new file mode 100644
index 000000000..a4d1bdfb4
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/078d6985462cfd48d06f42c78d277a9932efcef6
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/07b7c84ba855992f14c05c1ed0b11acfae308978 b/fuzz/corpus/fuzz_ds_ptree/07b7c84ba855992f14c05c1ed0b11acfae308978
new file mode 100644
index 000000000..4a5f324ee
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/07b7c84ba855992f14c05c1ed0b11acfae308978
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/0ab182d56e9d758677f771f7731a01d48612723f b/fuzz/corpus/fuzz_ds_ptree/0ab182d56e9d758677f771f7731a01d48612723f
new file mode 100644
index 000000000..58bd69ba6
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/0ab182d56e9d758677f771f7731a01d48612723f
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/14b9090f67d5b756f140734ccd18624bfd6379a1 b/fuzz/corpus/fuzz_ds_ptree/14b9090f67d5b756f140734ccd18624bfd6379a1
new file mode 100644
index 000000000..41b79aa88
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/14b9090f67d5b756f140734ccd18624bfd6379a1
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/15362103ab120b70ce6256c5b112cf5089f2e809 b/fuzz/corpus/fuzz_ds_ptree/15362103ab120b70ce6256c5b112cf5089f2e809
new file mode 100644
index 000000000..a1b7d58d6
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/15362103ab120b70ce6256c5b112cf5089f2e809
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/1a2ddc134226abd613c6b5f804b14987c5fb91bb b/fuzz/corpus/fuzz_ds_ptree/1a2ddc134226abd613c6b5f804b14987c5fb91bb
new file mode 100644
index 000000000..4edc4a610
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/1a2ddc134226abd613c6b5f804b14987c5fb91bb
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/1c3e3a97a50cfceb9863f940fb59e7534cebc4b4 b/fuzz/corpus/fuzz_ds_ptree/1c3e3a97a50cfceb9863f940fb59e7534cebc4b4
new file mode 100644
index 000000000..71c1594ce
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/1c3e3a97a50cfceb9863f940fb59e7534cebc4b4
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/1e0d6060af6d68f7c5df21ec2a3268cecfcebdfa b/fuzz/corpus/fuzz_ds_ptree/1e0d6060af6d68f7c5df21ec2a3268cecfcebdfa
new file mode 100644
index 000000000..b7a8759c3
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/1e0d6060af6d68f7c5df21ec2a3268cecfcebdfa
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/1f7a617ab67da069c0ee8143b8c626c6f935abdd b/fuzz/corpus/fuzz_ds_ptree/1f7a617ab67da069c0ee8143b8c626c6f935abdd
new file mode 100644
index 000000000..23fb57647
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/1f7a617ab67da069c0ee8143b8c626c6f935abdd
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/2165ddc96b4ccbdedc8b78a41407864f9f26d895 b/fuzz/corpus/fuzz_ds_ptree/2165ddc96b4ccbdedc8b78a41407864f9f26d895
new file mode 100644
index 000000000..230db99bc
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/2165ddc96b4ccbdedc8b78a41407864f9f26d895
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/22386051c86870ad59d65af6f8da5921cca20d5b b/fuzz/corpus/fuzz_ds_ptree/22386051c86870ad59d65af6f8da5921cca20d5b
new file mode 100644
index 000000000..103958d39
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/22386051c86870ad59d65af6f8da5921cca20d5b
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/25732e2c49101274529cb4769426330f1b958401 b/fuzz/corpus/fuzz_ds_ptree/25732e2c49101274529cb4769426330f1b958401
new file mode 100644
index 000000000..cfdee63c3
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/25732e2c49101274529cb4769426330f1b958401
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/2902833756445148e2151d93a3bf8ab0cd269aac b/fuzz/corpus/fuzz_ds_ptree/2902833756445148e2151d93a3bf8ab0cd269aac
new file mode 100644
index 000000000..aadd6ef56
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/2902833756445148e2151d93a3bf8ab0cd269aac
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/2a1b15b3f0056aeb9a5aa89d77a903dfccd0b02a b/fuzz/corpus/fuzz_ds_ptree/2a1b15b3f0056aeb9a5aa89d77a903dfccd0b02a
new file mode 100644
index 000000000..da624fd1c
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/2a1b15b3f0056aeb9a5aa89d77a903dfccd0b02a
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/2bea75e47b90c2aca274af658e79a8973d2a7e76 b/fuzz/corpus/fuzz_ds_ptree/2bea75e47b90c2aca274af658e79a8973d2a7e76
new file mode 100644
index 000000000..b793c6593
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/2bea75e47b90c2aca274af658e79a8973d2a7e76
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/2ce6b2c8d3c010b2a9c76165440c1a7ce3abc6b1 b/fuzz/corpus/fuzz_ds_ptree/2ce6b2c8d3c010b2a9c76165440c1a7ce3abc6b1
new file mode 100644
index 000000000..2ecd301b3
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/2ce6b2c8d3c010b2a9c76165440c1a7ce3abc6b1
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/2eb452be460a03159aa28c90eaf83e719a69d74b b/fuzz/corpus/fuzz_ds_ptree/2eb452be460a03159aa28c90eaf83e719a69d74b
new file mode 100644
index 000000000..8e95beec4
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/2eb452be460a03159aa28c90eaf83e719a69d74b
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/3301381edefd92364acf23b142eacbaf89b138ef b/fuzz/corpus/fuzz_ds_ptree/3301381edefd92364acf23b142eacbaf89b138ef
new file mode 100644
index 000000000..74ffd4dd0
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/3301381edefd92364acf23b142eacbaf89b138ef
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/34eeb7af3cc7c82bcd0291f74b5a9aecc2f1b7cc b/fuzz/corpus/fuzz_ds_ptree/34eeb7af3cc7c82bcd0291f74b5a9aecc2f1b7cc
new file mode 100644
index 000000000..94eb83e68
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/34eeb7af3cc7c82bcd0291f74b5a9aecc2f1b7cc
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/3a8bab234fc79f763b4fff83c7c51c122cb73a92 b/fuzz/corpus/fuzz_ds_ptree/3a8bab234fc79f763b4fff83c7c51c122cb73a92
new file mode 100644
index 000000000..33335ac28
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/3a8bab234fc79f763b4fff83c7c51c122cb73a92
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/3d9b592938351112b05b38e649790699b6555591 b/fuzz/corpus/fuzz_ds_ptree/3d9b592938351112b05b38e649790699b6555591
new file mode 100644
index 000000000..0132d7e79
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/3d9b592938351112b05b38e649790699b6555591
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/3ff0e5ef71bea278b465ce517eba40f9487e90a0 b/fuzz/corpus/fuzz_ds_ptree/3ff0e5ef71bea278b465ce517eba40f9487e90a0
new file mode 100644
index 000000000..c54ac9996
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/3ff0e5ef71bea278b465ce517eba40f9487e90a0
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/40c2ee3cec844627486313ee3147d9778adecb26 b/fuzz/corpus/fuzz_ds_ptree/40c2ee3cec844627486313ee3147d9778adecb26
new file mode 100644
index 000000000..67f2d218e
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/40c2ee3cec844627486313ee3147d9778adecb26
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/418052c42f19e85fbd3bc3428a67ed99577edc1e b/fuzz/corpus/fuzz_ds_ptree/418052c42f19e85fbd3bc3428a67ed99577edc1e
new file mode 100644
index 000000000..b97d132b1
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/418052c42f19e85fbd3bc3428a67ed99577edc1e
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/423a25963500f20052e92a1d368c5b4073562cd3 b/fuzz/corpus/fuzz_ds_ptree/423a25963500f20052e92a1d368c5b4073562cd3
new file mode 100644
index 000000000..4f918f58b
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/423a25963500f20052e92a1d368c5b4073562cd3
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/439f62298be458904b543d9ec9dd1105779a2792 b/fuzz/corpus/fuzz_ds_ptree/439f62298be458904b543d9ec9dd1105779a2792
new file mode 100644
index 000000000..578c22494
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/439f62298be458904b543d9ec9dd1105779a2792
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/44b60374026ac3082d5552e05288351be79416c6 b/fuzz/corpus/fuzz_ds_ptree/44b60374026ac3082d5552e05288351be79416c6
new file mode 100644
index 000000000..8f8d4f1da
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/44b60374026ac3082d5552e05288351be79416c6
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/469baadf20586b44d080774ece492677e39582bf b/fuzz/corpus/fuzz_ds_ptree/469baadf20586b44d080774ece492677e39582bf
new file mode 100644
index 000000000..494fdd48f
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/469baadf20586b44d080774ece492677e39582bf
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/4809570a2b2f805906691e011b9beffe03c8dc68 b/fuzz/corpus/fuzz_ds_ptree/4809570a2b2f805906691e011b9beffe03c8dc68
new file mode 100644
index 000000000..778a01b1a
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/4809570a2b2f805906691e011b9beffe03c8dc68
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/4b55df102046a74e75b3ac7345efaeecda19dc55 b/fuzz/corpus/fuzz_ds_ptree/4b55df102046a74e75b3ac7345efaeecda19dc55
new file mode 100644
index 000000000..29a0e75c4
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/4b55df102046a74e75b3ac7345efaeecda19dc55
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/4ba43c4473a2e24ef66ee6e6d3a083f1e90ecb59 b/fuzz/corpus/fuzz_ds_ptree/4ba43c4473a2e24ef66ee6e6d3a083f1e90ecb59
new file mode 100644
index 000000000..ba21a3bc3
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/4ba43c4473a2e24ef66ee6e6d3a083f1e90ecb59
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/4c7465a03792f8ffbc3da94133c575fd0fb609fd b/fuzz/corpus/fuzz_ds_ptree/4c7465a03792f8ffbc3da94133c575fd0fb609fd
new file mode 100644
index 000000000..e41c249b6
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/4c7465a03792f8ffbc3da94133c575fd0fb609fd
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/4e22436534f7ddda6023610945ad3fb84b08d5f2 b/fuzz/corpus/fuzz_ds_ptree/4e22436534f7ddda6023610945ad3fb84b08d5f2
new file mode 100644
index 000000000..d825e1ad7
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/4e22436534f7ddda6023610945ad3fb84b08d5f2
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/4efdd9552994e50cf0e8ad8f6869617e3e6df619 b/fuzz/corpus/fuzz_ds_ptree/4efdd9552994e50cf0e8ad8f6869617e3e6df619
new file mode 100644
index 000000000..d81164ed6
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/4efdd9552994e50cf0e8ad8f6869617e3e6df619
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/4f4c26fc8981a82def4bcf89f87acfb7a7dccd12 b/fuzz/corpus/fuzz_ds_ptree/4f4c26fc8981a82def4bcf89f87acfb7a7dccd12
new file mode 100644
index 000000000..b5e57a2a0
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/4f4c26fc8981a82def4bcf89f87acfb7a7dccd12
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/50c35604d27ae3a4ff73ce17b732c0d53a8f349e b/fuzz/corpus/fuzz_ds_ptree/50c35604d27ae3a4ff73ce17b732c0d53a8f349e
new file mode 100644
index 000000000..fbcbef8fa
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/50c35604d27ae3a4ff73ce17b732c0d53a8f349e
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/51211af99f2a4ac87c1c641a12b7a7b959f002e7 b/fuzz/corpus/fuzz_ds_ptree/51211af99f2a4ac87c1c641a12b7a7b959f002e7
new file mode 100644
index 000000000..1c450a8b2
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/51211af99f2a4ac87c1c641a12b7a7b959f002e7
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/55011c61bb58706f7b17f11bddc631d7eb42a119 b/fuzz/corpus/fuzz_ds_ptree/55011c61bb58706f7b17f11bddc631d7eb42a119
new file mode 100644
index 000000000..189bdb01d
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/55011c61bb58706f7b17f11bddc631d7eb42a119
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/551546026dfe20045855431e4c080643ecc649b8 b/fuzz/corpus/fuzz_ds_ptree/551546026dfe20045855431e4c080643ecc649b8
new file mode 100644
index 000000000..2994ac9b0
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/551546026dfe20045855431e4c080643ecc649b8
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/57c83eb9c9a089aa1ab86366da0811f717b038f9 b/fuzz/corpus/fuzz_ds_ptree/57c83eb9c9a089aa1ab86366da0811f717b038f9
new file mode 100644
index 000000000..652fc71d0
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/57c83eb9c9a089aa1ab86366da0811f717b038f9
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/5a034d850b354a2214b09f0617f30ddaa193d870 b/fuzz/corpus/fuzz_ds_ptree/5a034d850b354a2214b09f0617f30ddaa193d870
new file mode 100644
index 000000000..f9d80b834
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/5a034d850b354a2214b09f0617f30ddaa193d870
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/5c85ceaa041ec1771c68bdfcba6a9cd0a6344948 b/fuzz/corpus/fuzz_ds_ptree/5c85ceaa041ec1771c68bdfcba6a9cd0a6344948
new file mode 100644
index 000000000..32a2b12b1
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/5c85ceaa041ec1771c68bdfcba6a9cd0a6344948
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/62d6104e71b6395eeaa1b49c4f765b7a60bd6ff1 b/fuzz/corpus/fuzz_ds_ptree/62d6104e71b6395eeaa1b49c4f765b7a60bd6ff1
new file mode 100644
index 000000000..393df2755
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/62d6104e71b6395eeaa1b49c4f765b7a60bd6ff1
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/686671b3b022759c727efe542acdfde5fc20ae75 b/fuzz/corpus/fuzz_ds_ptree/686671b3b022759c727efe542acdfde5fc20ae75
new file mode 100644
index 000000000..ca165fdbc
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/686671b3b022759c727efe542acdfde5fc20ae75
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/690363830d846fde982978f7a272efb319aba9bc b/fuzz/corpus/fuzz_ds_ptree/690363830d846fde982978f7a272efb319aba9bc
new file mode 100644
index 000000000..65881620b
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/690363830d846fde982978f7a272efb319aba9bc
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/69a692732a936cc3828f63652848002b3fe3a435 b/fuzz/corpus/fuzz_ds_ptree/69a692732a936cc3828f63652848002b3fe3a435
new file mode 100644
index 000000000..44aa65dfa
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/69a692732a936cc3828f63652848002b3fe3a435
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/69e22aaa579ee53595e6056db92c810715ceaafd b/fuzz/corpus/fuzz_ds_ptree/69e22aaa579ee53595e6056db92c810715ceaafd
new file mode 100644
index 000000000..48e42cffd
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/69e22aaa579ee53595e6056db92c810715ceaafd
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/6a57403d937cbde464b34234a7337290f69dc06b b/fuzz/corpus/fuzz_ds_ptree/6a57403d937cbde464b34234a7337290f69dc06b
new file mode 100644
index 000000000..5ea189a7b
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/6a57403d937cbde464b34234a7337290f69dc06b
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/6ce6b8051d4a3b36ecb7def5fea922158df41b17 b/fuzz/corpus/fuzz_ds_ptree/6ce6b8051d4a3b36ecb7def5fea922158df41b17
new file mode 100644
index 000000000..e14cefa98
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/6ce6b8051d4a3b36ecb7def5fea922158df41b17
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/6e7d12ff2919fcb6e6bc8abc17704b051cd331f4 b/fuzz/corpus/fuzz_ds_ptree/6e7d12ff2919fcb6e6bc8abc17704b051cd331f4
new file mode 100644
index 000000000..e4a7f1d43
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/6e7d12ff2919fcb6e6bc8abc17704b051cd331f4
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/6fa9f5ebf1422d95d84776798d3daab6392c4373 b/fuzz/corpus/fuzz_ds_ptree/6fa9f5ebf1422d95d84776798d3daab6392c4373
new file mode 100644
index 000000000..757b56a31
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/6fa9f5ebf1422d95d84776798d3daab6392c4373
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/6fefd1d81cf134070c52ded64e18c4af5d6bbf68 b/fuzz/corpus/fuzz_ds_ptree/6fefd1d81cf134070c52ded64e18c4af5d6bbf68
new file mode 100644
index 000000000..63a8b11b3
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/6fefd1d81cf134070c52ded64e18c4af5d6bbf68
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/70ebe0d4b36bbab381551e76da348db86befb8ee b/fuzz/corpus/fuzz_ds_ptree/70ebe0d4b36bbab381551e76da348db86befb8ee
new file mode 100644
index 000000000..85624616b
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/70ebe0d4b36bbab381551e76da348db86befb8ee
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/717964c88a8f58cded91ceda5f671810d22bdaa2 b/fuzz/corpus/fuzz_ds_ptree/717964c88a8f58cded91ceda5f671810d22bdaa2
new file mode 100644
index 000000000..8fe8dc6c3
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/717964c88a8f58cded91ceda5f671810d22bdaa2
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/7609c86bdcdf1341dcb7071412941fa5c077721b b/fuzz/corpus/fuzz_ds_ptree/7609c86bdcdf1341dcb7071412941fa5c077721b
new file mode 100644
index 000000000..37986c69b
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/7609c86bdcdf1341dcb7071412941fa5c077721b
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/774167b00ab27912f8e78bfd2e3d39e0239b9873 b/fuzz/corpus/fuzz_ds_ptree/774167b00ab27912f8e78bfd2e3d39e0239b9873
new file mode 100644
index 000000000..12aa80c14
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/774167b00ab27912f8e78bfd2e3d39e0239b9873
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/7754fb0cc9a31fd3b039fa813826615451cb93ed b/fuzz/corpus/fuzz_ds_ptree/7754fb0cc9a31fd3b039fa813826615451cb93ed
new file mode 100644
index 000000000..4737db7bd
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/7754fb0cc9a31fd3b039fa813826615451cb93ed
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/7919c53b964111b4ad091f41cec0574d1cb5be68 b/fuzz/corpus/fuzz_ds_ptree/7919c53b964111b4ad091f41cec0574d1cb5be68
new file mode 100644
index 000000000..20301aaab
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/7919c53b964111b4ad091f41cec0574d1cb5be68
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/7b224f368d1f355febd30215deaf8fa9b11d48af b/fuzz/corpus/fuzz_ds_ptree/7b224f368d1f355febd30215deaf8fa9b11d48af
new file mode 100644
index 000000000..cd12cc7d6
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/7b224f368d1f355febd30215deaf8fa9b11d48af
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/7b2d2d12df2087abb44a8438f1c7ea308ffe16dc b/fuzz/corpus/fuzz_ds_ptree/7b2d2d12df2087abb44a8438f1c7ea308ffe16dc
new file mode 100644
index 000000000..723e5570e
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/7b2d2d12df2087abb44a8438f1c7ea308ffe16dc
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/7db619b14a5b41ef2ea72f6ed50bc3222c92008c b/fuzz/corpus/fuzz_ds_ptree/7db619b14a5b41ef2ea72f6ed50bc3222c92008c
new file mode 100644
index 000000000..409b297e4
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/7db619b14a5b41ef2ea72f6ed50bc3222c92008c
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/7fa5a0da8c3d5dbb7c0239d7746dfcc6fa349c44 b/fuzz/corpus/fuzz_ds_ptree/7fa5a0da8c3d5dbb7c0239d7746dfcc6fa349c44
new file mode 100644
index 000000000..0c1678c6c
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/7fa5a0da8c3d5dbb7c0239d7746dfcc6fa349c44
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/83e1ff87052fcf0a295f517908437ce3ec8c3d12 b/fuzz/corpus/fuzz_ds_ptree/83e1ff87052fcf0a295f517908437ce3ec8c3d12
new file mode 100644
index 000000000..d731add6a
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/83e1ff87052fcf0a295f517908437ce3ec8c3d12
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/8836449903a9055d2c819f1df8640599fc127141 b/fuzz/corpus/fuzz_ds_ptree/8836449903a9055d2c819f1df8640599fc127141
new file mode 100644
index 000000000..817ef6f8b
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/8836449903a9055d2c819f1df8640599fc127141
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/8d004499628b6ed79de469223ab62454203a265f b/fuzz/corpus/fuzz_ds_ptree/8d004499628b6ed79de469223ab62454203a265f
new file mode 100644
index 000000000..09ca550db
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/8d004499628b6ed79de469223ab62454203a265f
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/9023a6c7f1c63ff0b75b849e4755330e99203134 b/fuzz/corpus/fuzz_ds_ptree/9023a6c7f1c63ff0b75b849e4755330e99203134
new file mode 100644
index 000000000..b857be9a9
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/9023a6c7f1c63ff0b75b849e4755330e99203134
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/92c6d71fa16a5bdc100739558de6b93ae1d8a503 b/fuzz/corpus/fuzz_ds_ptree/92c6d71fa16a5bdc100739558de6b93ae1d8a503
new file mode 100644
index 000000000..9e831a9cc
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/92c6d71fa16a5bdc100739558de6b93ae1d8a503
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/941b82fe6daa2f4352e40fe63ec19a11476d4ab1 b/fuzz/corpus/fuzz_ds_ptree/941b82fe6daa2f4352e40fe63ec19a11476d4ab1
new file mode 100644
index 000000000..7f3deb607
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/941b82fe6daa2f4352e40fe63ec19a11476d4ab1
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/9d781a671ecba151d1e1981abba8b786228f6a10 b/fuzz/corpus/fuzz_ds_ptree/9d781a671ecba151d1e1981abba8b786228f6a10
new file mode 100644
index 000000000..387764e63
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/9d781a671ecba151d1e1981abba8b786228f6a10
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/a17bf522b252ba23f1ca4b42417aa8f124c1da88 b/fuzz/corpus/fuzz_ds_ptree/a17bf522b252ba23f1ca4b42417aa8f124c1da88
new file mode 100644
index 000000000..89e94e38b
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/a17bf522b252ba23f1ca4b42417aa8f124c1da88
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/a6af46f15f2ed5a6bd386fd3873d2721dc97bc83 b/fuzz/corpus/fuzz_ds_ptree/a6af46f15f2ed5a6bd386fd3873d2721dc97bc83
new file mode 100644
index 000000000..bcceb2ea9
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/a6af46f15f2ed5a6bd386fd3873d2721dc97bc83
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/aac35375179c3d2bb4a989199ff53e61b2932016 b/fuzz/corpus/fuzz_ds_ptree/aac35375179c3d2bb4a989199ff53e61b2932016
new file mode 100644
index 000000000..6b53d3b57
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/aac35375179c3d2bb4a989199ff53e61b2932016
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/acadd490cdf801aab3030c05259f236486e220d7 b/fuzz/corpus/fuzz_ds_ptree/acadd490cdf801aab3030c05259f236486e220d7
new file mode 100644
index 000000000..e4afe40e4
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/acadd490cdf801aab3030c05259f236486e220d7
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/acc6d2f9f7675eb304ec822db3f534c598d651c4 b/fuzz/corpus/fuzz_ds_ptree/acc6d2f9f7675eb304ec822db3f534c598d651c4
new file mode 100644
index 000000000..18882e606
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/acc6d2f9f7675eb304ec822db3f534c598d651c4
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/adb71b5cf8f2be28b6c83bf06cdb7f902484d83c b/fuzz/corpus/fuzz_ds_ptree/adb71b5cf8f2be28b6c83bf06cdb7f902484d83c
new file mode 100644
index 000000000..8f831d34e
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/adb71b5cf8f2be28b6c83bf06cdb7f902484d83c
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/af4f83441796a7ac67555445851416adc02a42d1 b/fuzz/corpus/fuzz_ds_ptree/af4f83441796a7ac67555445851416adc02a42d1
new file mode 100644
index 000000000..21e7a7488
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/af4f83441796a7ac67555445851416adc02a42d1
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/b753e14020c99abb2881c03dcd804a5dfec839ab b/fuzz/corpus/fuzz_ds_ptree/b753e14020c99abb2881c03dcd804a5dfec839ab
new file mode 100644
index 000000000..c16781321
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/b753e14020c99abb2881c03dcd804a5dfec839ab
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/bb4531b735c2020482c5129e47a5ea48ed403974 b/fuzz/corpus/fuzz_ds_ptree/bb4531b735c2020482c5129e47a5ea48ed403974
new file mode 100644
index 000000000..9431e6ce3
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/bb4531b735c2020482c5129e47a5ea48ed403974
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/c6a3e7f64c82dd3179cda6cead0e6ee9273c1c0f b/fuzz/corpus/fuzz_ds_ptree/c6a3e7f64c82dd3179cda6cead0e6ee9273c1c0f
new file mode 100644
index 000000000..1bec1d382
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/c6a3e7f64c82dd3179cda6cead0e6ee9273c1c0f
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/c74d256a196e60a949648988b9356d3a3072ee25 b/fuzz/corpus/fuzz_ds_ptree/c74d256a196e60a949648988b9356d3a3072ee25
new file mode 100644
index 000000000..07eebecc2
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/c74d256a196e60a949648988b9356d3a3072ee25
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/c8fdfe97b51c909c756b64690190dcece85be226 b/fuzz/corpus/fuzz_ds_ptree/c8fdfe97b51c909c756b64690190dcece85be226
new file mode 100644
index 000000000..5284e6581
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/c8fdfe97b51c909c756b64690190dcece85be226
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/cfd3a43762d6d2a31623c4ac47f87116230b2476 b/fuzz/corpus/fuzz_ds_ptree/cfd3a43762d6d2a31623c4ac47f87116230b2476
new file mode 100644
index 000000000..811c97cfc
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/cfd3a43762d6d2a31623c4ac47f87116230b2476
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/d3428aa728010662173909467f09ebaa06762ade b/fuzz/corpus/fuzz_ds_ptree/d3428aa728010662173909467f09ebaa06762ade
new file mode 100644
index 000000000..cdebf8fe4
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/d3428aa728010662173909467f09ebaa06762ade
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/d43e4aeb7c2b693185eb565551026fbb5cd43e1a b/fuzz/corpus/fuzz_ds_ptree/d43e4aeb7c2b693185eb565551026fbb5cd43e1a
new file mode 100644
index 000000000..469d74cac
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/d43e4aeb7c2b693185eb565551026fbb5cd43e1a
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/daf8d904c3ffb96e4a93db65231ce11c8dcbaa13 b/fuzz/corpus/fuzz_ds_ptree/daf8d904c3ffb96e4a93db65231ce11c8dcbaa13
new file mode 100644
index 000000000..14d3b23ed
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/daf8d904c3ffb96e4a93db65231ce11c8dcbaa13
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/db9c9d5c699d60365433a924be9626ae19554fac b/fuzz/corpus/fuzz_ds_ptree/db9c9d5c699d60365433a924be9626ae19554fac
new file mode 100644
index 000000000..9aab8d053
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/db9c9d5c699d60365433a924be9626ae19554fac
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/dda3319e9709921f533039b5a8cd4b80a7458bae b/fuzz/corpus/fuzz_ds_ptree/dda3319e9709921f533039b5a8cd4b80a7458bae
new file mode 100644
index 000000000..42baeb171
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/dda3319e9709921f533039b5a8cd4b80a7458bae
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/de63782e6e4c00cfca5e67994638d3af631ff36e b/fuzz/corpus/fuzz_ds_ptree/de63782e6e4c00cfca5e67994638d3af631ff36e
new file mode 100644
index 000000000..c5b61d833
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/de63782e6e4c00cfca5e67994638d3af631ff36e
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/e0154c05d36e1aa8be5a3565060c16c5e022b32b b/fuzz/corpus/fuzz_ds_ptree/e0154c05d36e1aa8be5a3565060c16c5e022b32b
new file mode 100644
index 000000000..bea90bbf5
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/e0154c05d36e1aa8be5a3565060c16c5e022b32b
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/e02f1cedfa5dcb4f3229efb3b45a77b0e237af19 b/fuzz/corpus/fuzz_ds_ptree/e02f1cedfa5dcb4f3229efb3b45a77b0e237af19
new file mode 100644
index 000000000..5500a6b7d
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/e02f1cedfa5dcb4f3229efb3b45a77b0e237af19
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/e338a95654d105d4956fcd11f1232714010e6e76 b/fuzz/corpus/fuzz_ds_ptree/e338a95654d105d4956fcd11f1232714010e6e76
new file mode 100644
index 000000000..592d1be10
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/e338a95654d105d4956fcd11f1232714010e6e76
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/e6369f11ef7abb23bbf27d3d8c536da569321ae7 b/fuzz/corpus/fuzz_ds_ptree/e6369f11ef7abb23bbf27d3d8c536da569321ae7
new file mode 100644
index 000000000..ed43954df
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/e6369f11ef7abb23bbf27d3d8c536da569321ae7
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/eb7d414eb5c3fdc62bd419b096a11731de84225f b/fuzz/corpus/fuzz_ds_ptree/eb7d414eb5c3fdc62bd419b096a11731de84225f
new file mode 100644
index 000000000..dd08ae890
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/eb7d414eb5c3fdc62bd419b096a11731de84225f
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/ed0bd0662d2819ea276b5c2d6bcf35edd70191da b/fuzz/corpus/fuzz_ds_ptree/ed0bd0662d2819ea276b5c2d6bcf35edd70191da
new file mode 100644
index 000000000..22e6c7388
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/ed0bd0662d2819ea276b5c2d6bcf35edd70191da
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/ee088a031e6943efb877e9a3b8358a7315fcc703 b/fuzz/corpus/fuzz_ds_ptree/ee088a031e6943efb877e9a3b8358a7315fcc703
new file mode 100644
index 000000000..8e35e3a7d
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/ee088a031e6943efb877e9a3b8358a7315fcc703
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/ef4de892e052ae14f2aadd35eeab00429dde5e7e b/fuzz/corpus/fuzz_ds_ptree/ef4de892e052ae14f2aadd35eeab00429dde5e7e
new file mode 100644
index 000000000..cbbf1d9a0
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/ef4de892e052ae14f2aadd35eeab00429dde5e7e
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/ef8e81dceb5aa848dd47748f5499722188dad63c b/fuzz/corpus/fuzz_ds_ptree/ef8e81dceb5aa848dd47748f5499722188dad63c
new file mode 100644
index 000000000..f1521e9e2
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/ef8e81dceb5aa848dd47748f5499722188dad63c
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/f2a5bfaea48014d5fc4c581da5ca9f8b85d210fa b/fuzz/corpus/fuzz_ds_ptree/f2a5bfaea48014d5fc4c581da5ca9f8b85d210fa
new file mode 100644
index 000000000..d385c5e05
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/f2a5bfaea48014d5fc4c581da5ca9f8b85d210fa
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/f4868f08b07effd8338f23a12186e0c39c0004fd b/fuzz/corpus/fuzz_ds_ptree/f4868f08b07effd8338f23a12186e0c39c0004fd
new file mode 100644
index 000000000..e6115d189
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/f4868f08b07effd8338f23a12186e0c39c0004fd
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/f4b0d4c72dc7c7da532f9ea84131a979a6241a55 b/fuzz/corpus/fuzz_ds_ptree/f4b0d4c72dc7c7da532f9ea84131a979a6241a55
new file mode 100644
index 000000000..ecb2b031c
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/f4b0d4c72dc7c7da532f9ea84131a979a6241a55
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/f63e15cd167a055eb187db5fa75d5c296c607fea b/fuzz/corpus/fuzz_ds_ptree/f63e15cd167a055eb187db5fa75d5c296c607fea
new file mode 100644
index 000000000..24d0b11ab
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/f63e15cd167a055eb187db5fa75d5c296c607fea
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/f8ade6c2559a0cc772f4b2913b8277458e3b8779 b/fuzz/corpus/fuzz_ds_ptree/f8ade6c2559a0cc772f4b2913b8277458e3b8779
new file mode 100644
index 000000000..7675b7f97
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/f8ade6c2559a0cc772f4b2913b8277458e3b8779
Binary files differ
diff --git a/fuzz/corpus/fuzz_ds_ptree/fc2d9c7fdcca93fe201c398e41f6b31b63365181 b/fuzz/corpus/fuzz_ds_ptree/fc2d9c7fdcca93fe201c398e41f6b31b63365181
new file mode 100644
index 000000000..ff73684e1
--- /dev/null
+++ b/fuzz/corpus/fuzz_ds_ptree/fc2d9c7fdcca93fe201c398e41f6b31b63365181
Binary files differ
diff --git a/fuzz/corpus/fuzz_libinjection/0d2f951037b2a99323a6f292bed158dcb84f8525 b/fuzz/corpus/fuzz_libinjection/0d2f951037b2a99323a6f292bed158dcb84f8525
new file mode 100644
index 000000000..5e169cf56
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/0d2f951037b2a99323a6f292bed158dcb84f8525
Binary files differ
diff --git a/fuzz/corpus/fuzz_libinjection/10 b/fuzz/corpus/fuzz_libinjection/10
new file mode 100644
index 000000000..1e1a1c38d
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/10
@@ -0,0 +1 @@
+205.174.165.68/dv/vulnerabilities/sqli/?id=1%27+and+1%3D1%23&Submit=Submit
diff --git a/fuzz/corpus/fuzz_libinjection/11 b/fuzz/corpus/fuzz_libinjection/11
new file mode 100644
index 000000000..f5eaeb572
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/11
@@ -0,0 +1 @@
+92.168.3.107/DVWA-master/vulnerabilities/sqli/?id=%3Fid%3Da%27+UNION+SELECT+%22text1%22%2C%22text2%22%3B--+-%26Submit%3DSubmit&Submit=Submit
diff --git a/fuzz/corpus/fuzz_libinjection/15b476de3caa02284e485d66b68081608ae4faf5 b/fuzz/corpus/fuzz_libinjection/15b476de3caa02284e485d66b68081608ae4faf5
new file mode 100644
index 000000000..f5319f8fb
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/15b476de3caa02284e485d66b68081608ae4faf5
@@ -0,0 +1 @@
+20̻1%23&i
diff --git a/fuzz/corpus/fuzz_libinjection/1a38ab89c73b1bb6a4d06294c94b413f9ad0822e b/fuzz/corpus/fuzz_libinjection/1a38ab89c73b1bb6a4d06294c94b413f9ad0822e
new file mode 100644
index 000000000..be00a6b5b
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/1a38ab89c73b1bb6a4d06294c94b413f9ad0822e
@@ -0,0 +1 @@
+2-- \ No newline at end of file
diff --git a/fuzz/corpus/fuzz_libinjection/2 b/fuzz/corpus/fuzz_libinjection/2
new file mode 100644
index 000000000..789b71e86
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/2
@@ -0,0 +1 @@
+192.168.3.107/DVWA-master/vulnerabilities/xss_d/?default=English%3Cscript%3Ealert(1)%3C/script%3E
diff --git a/fuzz/corpus/fuzz_libinjection/20 b/fuzz/corpus/fuzz_libinjection/20
new file mode 100644
index 000000000..be6dbc951
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/20
@@ -0,0 +1 @@
+/dv/vulnerabilities/xss_r/?name=%3Cscript%3Econsole.log%28%27JUL2D3WXHEGWRAFJE2PI7OS71Z4Z8RFUHXGNFLUFYVP6M3OL55%27%29%3Bconsole.log%28document.cookie%29%3B%3C%2Fscript%3E
diff --git a/fuzz/corpus/fuzz_libinjection/21 b/fuzz/corpus/fuzz_libinjection/21
new file mode 100644
index 000000000..6e9bc2a7e
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/21
@@ -0,0 +1 @@
+/dv/vulnerabilities/sqli/?id=1%27+and+1%3D1+union+select+null%2C+table_name+from+information_schema.tables%23&Submit=Submit
diff --git a/fuzz/corpus/fuzz_libinjection/22 b/fuzz/corpus/fuzz_libinjection/22
new file mode 100644
index 000000000..a6769cde6
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/22
@@ -0,0 +1 @@
+/ntop/nDPI/actions/runs/4161701848/jobs/7199989034
diff --git a/fuzz/corpus/fuzz_libinjection/3 b/fuzz/corpus/fuzz_libinjection/3
new file mode 100644
index 000000000..1e1a1c38d
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/3
@@ -0,0 +1 @@
+205.174.165.68/dv/vulnerabilities/sqli/?id=1%27+and+1%3D1%23&Submit=Submit
diff --git a/fuzz/corpus/fuzz_libinjection/30 b/fuzz/corpus/fuzz_libinjection/30
new file mode 100644
index 000000000..5171b413a
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/30
@@ -0,0 +1 @@
+foo' + 1
diff --git a/fuzz/corpus/fuzz_libinjection/31 b/fuzz/corpus/fuzz_libinjection/31
new file mode 100644
index 000000000..3c2506b9f
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/31
@@ -0,0 +1 @@
+'foo' + 1
diff --git a/fuzz/corpus/fuzz_libinjection/32 b/fuzz/corpus/fuzz_libinjection/32
new file mode 100644
index 000000000..ca2009cc3
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/32
@@ -0,0 +1 @@
+1" UNION ALL SELECT * FROM FOO
diff --git a/fuzz/corpus/fuzz_libinjection/33 b/fuzz/corpus/fuzz_libinjection/33
new file mode 100644
index 000000000..41a1dcba3
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/33
@@ -0,0 +1 @@
+1" INCH
diff --git a/fuzz/corpus/fuzz_libinjection/33aa651e011ff40ba1edd9950093275800b9a40c b/fuzz/corpus/fuzz_libinjection/33aa651e011ff40ba1edd9950093275800b9a40c
new file mode 100644
index 000000000..96dccbd1c
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/33aa651e011ff40ba1edd9950093275800b9a40c
Binary files differ
diff --git a/fuzz/corpus/fuzz_libinjection/34 b/fuzz/corpus/fuzz_libinjection/34
new file mode 100644
index 000000000..50e2000db
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/34
@@ -0,0 +1 @@
+1' INCH
diff --git a/fuzz/corpus/fuzz_libinjection/3450506a01feb1c676c383da2351d81c95e361b9 b/fuzz/corpus/fuzz_libinjection/3450506a01feb1c676c383da2351d81c95e361b9
new file mode 100644
index 000000000..d883b09d0
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/3450506a01feb1c676c383da2351d81c95e361b9
@@ -0,0 +1 @@
+21%23&i;
diff --git a/fuzz/corpus/fuzz_libinjection/35 b/fuzz/corpus/fuzz_libinjection/35
new file mode 100644
index 000000000..27fcd8e55
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/35
@@ -0,0 +1 @@
+--1 UNION ALL SELECT * FROM FOO
diff --git a/fuzz/corpus/fuzz_libinjection/36 b/fuzz/corpus/fuzz_libinjection/36
new file mode 100644
index 000000000..945c98202
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/36
@@ -0,0 +1 @@
+1' == --1 OR 1
diff --git a/fuzz/corpus/fuzz_libinjection/37 b/fuzz/corpus/fuzz_libinjection/37
new file mode 100644
index 000000000..52135c1be
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/37
@@ -0,0 +1 @@
+1" UNION ALL SELECT --1 FROM FOO
diff --git a/fuzz/corpus/fuzz_libinjection/38 b/fuzz/corpus/fuzz_libinjection/38
new file mode 100644
index 000000000..54acd216f
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/38
@@ -0,0 +1 @@
+foo'--'bar'
diff --git a/fuzz/corpus/fuzz_libinjection/39 b/fuzz/corpus/fuzz_libinjection/39
new file mode 100644
index 000000000..72cd77e5e
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/39
@@ -0,0 +1 @@
+--blah
diff --git a/fuzz/corpus/fuzz_libinjection/39a9b3ad3544180f4614c356bec4305a940c27bc b/fuzz/corpus/fuzz_libinjection/39a9b3ad3544180f4614c356bec4305a940c27bc
new file mode 100644
index 000000000..13dca3c40
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/39a9b3ad3544180f4614c356bec4305a940c27bc
@@ -0,0 +1 @@
+31i22;
diff --git a/fuzz/corpus/fuzz_libinjection/4 b/fuzz/corpus/fuzz_libinjection/4
new file mode 100644
index 000000000..e2759d111
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/4
@@ -0,0 +1 @@
+205.174.165.68/dv/vulnerabilities/sqli/?id=1%27+and+1%3D1+union+select+null%2C+table_name+from+information_schema.tables%23&Submit=Submit
diff --git a/fuzz/corpus/fuzz_libinjection/40 b/fuzz/corpus/fuzz_libinjection/40
new file mode 100644
index 000000000..cda75e33c
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/40
@@ -0,0 +1 @@
+1--sp_password
diff --git a/fuzz/corpus/fuzz_libinjection/41 b/fuzz/corpus/fuzz_libinjection/41
new file mode 100644
index 000000000..4b46dc4da
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/41
@@ -0,0 +1 @@
+x'--sp_password
diff --git a/fuzz/corpus/fuzz_libinjection/42 b/fuzz/corpus/fuzz_libinjection/42
new file mode 100644
index 000000000..4f735994f
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/42
@@ -0,0 +1 @@
+1*1--
diff --git a/fuzz/corpus/fuzz_libinjection/43 b/fuzz/corpus/fuzz_libinjection/43
new file mode 100644
index 000000000..ef9bca6d1
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/43
@@ -0,0 +1 @@
+1 /*!anything*/
diff --git a/fuzz/corpus/fuzz_libinjection/44 b/fuzz/corpus/fuzz_libinjection/44
new file mode 100644
index 000000000..b5ec777dc
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/44
@@ -0,0 +1 @@
+1--0000000000111111111122222222223333333333 sp_password
diff --git a/fuzz/corpus/fuzz_libinjection/45 b/fuzz/corpus/fuzz_libinjection/45
new file mode 100644
index 000000000..c770ac69d
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/45
@@ -0,0 +1 @@
+foo" and 1=1 `
diff --git a/fuzz/corpus/fuzz_libinjection/46 b/fuzz/corpus/fuzz_libinjection/46
new file mode 100644
index 000000000..c770ac69d
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/46
@@ -0,0 +1 @@
+foo" and 1=1 `
diff --git a/fuzz/corpus/fuzz_libinjection/47 b/fuzz/corpus/fuzz_libinjection/47
new file mode 100644
index 000000000..e3a0e4200
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/47
@@ -0,0 +1 @@
+1 and @version
diff --git a/fuzz/corpus/fuzz_libinjection/48 b/fuzz/corpus/fuzz_libinjection/48
new file mode 100644
index 000000000..7c26a1067
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/48
@@ -0,0 +1 @@
+1 and @version < 1
diff --git a/fuzz/corpus/fuzz_libinjection/49 b/fuzz/corpus/fuzz_libinjection/49
new file mode 100644
index 000000000..74ce06ea0
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/49
@@ -0,0 +1 @@
+1 and "a" < "b"
diff --git a/fuzz/corpus/fuzz_libinjection/5 b/fuzz/corpus/fuzz_libinjection/5
new file mode 100644
index 000000000..e2759d111
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/5
@@ -0,0 +1 @@
+205.174.165.68/dv/vulnerabilities/sqli/?id=1%27+and+1%3D1+union+select+null%2C+table_name+from+information_schema.tables%23&Submit=Submit
diff --git a/fuzz/corpus/fuzz_libinjection/50 b/fuzz/corpus/fuzz_libinjection/50
new file mode 100644
index 000000000..445223569
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/50
@@ -0,0 +1 @@
+1 and "a"
diff --git a/fuzz/corpus/fuzz_libinjection/51 b/fuzz/corpus/fuzz_libinjection/51
new file mode 100644
index 000000000..3a4cea047
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/51
@@ -0,0 +1 @@
+1 TOP 'foo'
diff --git a/fuzz/corpus/fuzz_libinjection/52 b/fuzz/corpus/fuzz_libinjection/52
new file mode 100644
index 000000000..a4da31da8
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/52
@@ -0,0 +1 @@
+1 UNION
diff --git a/fuzz/corpus/fuzz_libinjection/5202e03fa50b3bc1b55fb03faa3c26659e6fcee8 b/fuzz/corpus/fuzz_libinjection/5202e03fa50b3bc1b55fb03faa3c26659e6fcee8
new file mode 100644
index 000000000..e55b1bd33
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/5202e03fa50b3bc1b55fb03faa3c26659e6fcee8
@@ -0,0 +1 @@
+</` \ No newline at end of file
diff --git a/fuzz/corpus/fuzz_libinjection/53 b/fuzz/corpus/fuzz_libinjection/53
new file mode 100644
index 000000000..56b6e717b
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/53
@@ -0,0 +1 @@
+1 ANALYZE 'foo'
diff --git a/fuzz/corpus/fuzz_libinjection/54 b/fuzz/corpus/fuzz_libinjection/54
new file mode 100644
index 000000000..656b0f064
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/54
@@ -0,0 +1 @@
+1 /* junk */ UNION
diff --git a/fuzz/corpus/fuzz_libinjection/55 b/fuzz/corpus/fuzz_libinjection/55
new file mode 100644
index 000000000..96faebb20
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/55
@@ -0,0 +1 @@
+1),(1)) UNION SELECT 1;
diff --git a/fuzz/corpus/fuzz_libinjection/56 b/fuzz/corpus/fuzz_libinjection/56
new file mode 100644
index 000000000..0c6824c65
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/56
@@ -0,0 +1 @@
+foo - (bar) UNION SELECT 1
diff --git a/fuzz/corpus/fuzz_libinjection/57 b/fuzz/corpus/fuzz_libinjection/57
new file mode 100644
index 000000000..a2daf9cd2
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/57
@@ -0,0 +1 @@
+foo - (1) UNION SELECT 1
diff --git a/fuzz/corpus/fuzz_libinjection/58 b/fuzz/corpus/fuzz_libinjection/58
new file mode 100644
index 000000000..d9fd6e959
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/58
@@ -0,0 +1 @@
+1, -sin(1)) UNION SELECT 1
diff --git a/fuzz/corpus/fuzz_libinjection/59 b/fuzz/corpus/fuzz_libinjection/59
new file mode 100644
index 000000000..141455481
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/59
@@ -0,0 +1 @@
+{``.``.id} UNION SELECT table_name from information_schemas LIMIT 1
diff --git a/fuzz/corpus/fuzz_libinjection/6 b/fuzz/corpus/fuzz_libinjection/6
new file mode 100644
index 000000000..a2f0c545e
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/6
@@ -0,0 +1 @@
+205.174.165.68/dv/vulnerabilities/sqli/?id=1%27+and+1%3D1+union+select+user%2C+password+from+users%23&Submit=Submit
diff --git a/fuzz/corpus/fuzz_libinjection/7 b/fuzz/corpus/fuzz_libinjection/7
new file mode 100644
index 000000000..845a70aad
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/7
@@ -0,0 +1 @@
+205.174.165.68/dv/vulnerabilities/sqli/?id=1%27+and+1%3D1+union+select+database%28%29%2C+user%28%29%23&Submit=Submit
diff --git a/fuzz/corpus/fuzz_libinjection/8 b/fuzz/corpus/fuzz_libinjection/8
new file mode 100644
index 000000000..845a70aad
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/8
@@ -0,0 +1 @@
+205.174.165.68/dv/vulnerabilities/sqli/?id=1%27+and+1%3D1+union+select+database%28%29%2C+user%28%29%23&Submit=Submit
diff --git a/fuzz/corpus/fuzz_libinjection/85e53271e14006f0265921d02d4d736cdc580b0b b/fuzz/corpus/fuzz_libinjection/85e53271e14006f0265921d02d4d736cdc580b0b
new file mode 100644
index 000000000..ce542efaa
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/85e53271e14006f0265921d02d4d736cdc580b0b
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/fuzz/corpus/fuzz_libinjection/9 b/fuzz/corpus/fuzz_libinjection/9
new file mode 100644
index 000000000..1e1a1c38d
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/9
@@ -0,0 +1 @@
+205.174.165.68/dv/vulnerabilities/sqli/?id=1%27+and+1%3D1%23&Submit=Submit
diff --git a/fuzz/corpus/fuzz_libinjection/9d1de8279add3b6d037aa2a801da30d45f91cf8d b/fuzz/corpus/fuzz_libinjection/9d1de8279add3b6d037aa2a801da30d45f91cf8d
new file mode 100644
index 000000000..43904b059
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/9d1de8279add3b6d037aa2a801da30d45f91cf8d
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/fuzz/corpus/fuzz_libinjection/c487a9ed6ce4beef9e9ebfa821e7181c68476088 b/fuzz/corpus/fuzz_libinjection/c487a9ed6ce4beef9e9ebfa821e7181c68476088
new file mode 100644
index 000000000..76772ec17
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/c487a9ed6ce4beef9e9ebfa821e7181c68476088
Binary files differ
diff --git a/fuzz/corpus/fuzz_libinjection/cc7ddbb1c7ce7d7181615313b0c6ac81575c7668 b/fuzz/corpus/fuzz_libinjection/cc7ddbb1c7ce7d7181615313b0c6ac81575c7668
new file mode 100644
index 000000000..3e74cdb4a
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/cc7ddbb1c7ce7d7181615313b0c6ac81575c7668
@@ -0,0 +1,2 @@
+
+2
diff --git a/fuzz/corpus/fuzz_libinjection/cf98534696ff97a4f2f1f9f96fdfba41cad2057d b/fuzz/corpus/fuzz_libinjection/cf98534696ff97a4f2f1f9f96fdfba41cad2057d
new file mode 100644
index 000000000..1874e481c
--- /dev/null
+++ b/fuzz/corpus/fuzz_libinjection/cf98534696ff97a4f2f1f9f96fdfba41cad2057d
@@ -0,0 +1,2 @@
+2;
+;
diff --git a/fuzz/corpus/fuzz_serialization/08e28514b30a7df231e574d430f9207be60081a5 b/fuzz/corpus/fuzz_serialization/08e28514b30a7df231e574d430f9207be60081a5
new file mode 100644
index 000000000..1041bff31
--- /dev/null
+++ b/fuzz/corpus/fuzz_serialization/08e28514b30a7df231e574d430f9207be60081a5
Binary files differ
diff --git a/fuzz/corpus/fuzz_serialization/0bd1690046cf11535e1fe7ef887bd881bc26e248 b/fuzz/corpus/fuzz_serialization/0bd1690046cf11535e1fe7ef887bd881bc26e248
deleted file mode 100644
index 53d0c4df0..000000000
--- a/fuzz/corpus/fuzz_serialization/0bd1690046cf11535e1fe7ef887bd881bc26e248
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_serialization/0bf770e429cba6c9fd4e3c5275572951c8bb7b0d b/fuzz/corpus/fuzz_serialization/0bf770e429cba6c9fd4e3c5275572951c8bb7b0d
deleted file mode 100644
index fe264bae8..000000000
--- a/fuzz/corpus/fuzz_serialization/0bf770e429cba6c9fd4e3c5275572951c8bb7b0d
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_serialization/10420923df54bfca05312d5fafaa4189373b4683 b/fuzz/corpus/fuzz_serialization/10420923df54bfca05312d5fafaa4189373b4683
deleted file mode 100644
index f32b2a1d3..000000000
--- a/fuzz/corpus/fuzz_serialization/10420923df54bfca05312d5fafaa4189373b4683
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_serialization/1aa0ba13369b1e0c11cdfb707ee96bbc0077635f b/fuzz/corpus/fuzz_serialization/1aa0ba13369b1e0c11cdfb707ee96bbc0077635f
new file mode 100644
index 000000000..3e3ea288d
--- /dev/null
+++ b/fuzz/corpus/fuzz_serialization/1aa0ba13369b1e0c11cdfb707ee96bbc0077635f
Binary files differ
diff --git a/fuzz/corpus/fuzz_serialization/2b88205b31bcff3b918131c9f6accbd0dd820eec b/fuzz/corpus/fuzz_serialization/2b88205b31bcff3b918131c9f6accbd0dd820eec
new file mode 100644
index 000000000..6bc2fd40d
--- /dev/null
+++ b/fuzz/corpus/fuzz_serialization/2b88205b31bcff3b918131c9f6accbd0dd820eec
Binary files differ
diff --git a/fuzz/corpus/fuzz_serialization/35fb4e382eea90c8483725b23c933d4cc418df47 b/fuzz/corpus/fuzz_serialization/35fb4e382eea90c8483725b23c933d4cc418df47
deleted file mode 100644
index e09ba056f..000000000
--- a/fuzz/corpus/fuzz_serialization/35fb4e382eea90c8483725b23c933d4cc418df47
+++ /dev/null
@@ -1 +0,0 @@
-}-D6R].z \ No newline at end of file
diff --git a/fuzz/corpus/fuzz_serialization/405c78f0be0c46d2888206056cbad22223a9d801 b/fuzz/corpus/fuzz_serialization/405c78f0be0c46d2888206056cbad22223a9d801
new file mode 100644
index 000000000..afa32f8a9
--- /dev/null
+++ b/fuzz/corpus/fuzz_serialization/405c78f0be0c46d2888206056cbad22223a9d801
Binary files differ
diff --git a/fuzz/corpus/fuzz_serialization/4778131281f96295cef3f8c9929d3870d88ac5a8 b/fuzz/corpus/fuzz_serialization/4778131281f96295cef3f8c9929d3870d88ac5a8
new file mode 100644
index 000000000..1c11a3f8a
--- /dev/null
+++ b/fuzz/corpus/fuzz_serialization/4778131281f96295cef3f8c9929d3870d88ac5a8
Binary files differ
diff --git a/fuzz/corpus/fuzz_serialization/50ccf2ef2a396f9181f5233cb5943f65308ad506 b/fuzz/corpus/fuzz_serialization/50ccf2ef2a396f9181f5233cb5943f65308ad506
deleted file mode 100644
index a025445cc..000000000
--- a/fuzz/corpus/fuzz_serialization/50ccf2ef2a396f9181f5233cb5943f65308ad506
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_serialization/52a719f9d01e6a1882f97bc011e52c80f807e955 b/fuzz/corpus/fuzz_serialization/52a719f9d01e6a1882f97bc011e52c80f807e955
new file mode 100644
index 000000000..df3d21358
--- /dev/null
+++ b/fuzz/corpus/fuzz_serialization/52a719f9d01e6a1882f97bc011e52c80f807e955
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/fuzz/corpus/fuzz_serialization/53e7833e9616f944ea630228d8443ee2f62f647f b/fuzz/corpus/fuzz_serialization/53e7833e9616f944ea630228d8443ee2f62f647f
new file mode 100644
index 000000000..a8e81e811
--- /dev/null
+++ b/fuzz/corpus/fuzz_serialization/53e7833e9616f944ea630228d8443ee2f62f647f
Binary files differ
diff --git a/fuzz/corpus/fuzz_serialization/54575b941c0641906092a4d2eb88d4b571cd7244 b/fuzz/corpus/fuzz_serialization/54575b941c0641906092a4d2eb88d4b571cd7244
deleted file mode 100644
index 35d96b20b..000000000
--- a/fuzz/corpus/fuzz_serialization/54575b941c0641906092a4d2eb88d4b571cd7244
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_serialization/5df39e5d3b76ed758bd70bab5c02fb4b1913565c b/fuzz/corpus/fuzz_serialization/5df39e5d3b76ed758bd70bab5c02fb4b1913565c
deleted file mode 100644
index 08a3b77ca..000000000
--- a/fuzz/corpus/fuzz_serialization/5df39e5d3b76ed758bd70bab5c02fb4b1913565c
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_serialization/6046a35020d5b394b3d7458fac00f154e4eb9135 b/fuzz/corpus/fuzz_serialization/6046a35020d5b394b3d7458fac00f154e4eb9135
new file mode 100644
index 000000000..784b7793c
--- /dev/null
+++ b/fuzz/corpus/fuzz_serialization/6046a35020d5b394b3d7458fac00f154e4eb9135
Binary files differ
diff --git a/fuzz/corpus/fuzz_serialization/63c9f30967ffc232fd1b52b7b3f0b9a99051e81e b/fuzz/corpus/fuzz_serialization/63c9f30967ffc232fd1b52b7b3f0b9a99051e81e
deleted file mode 100644
index dcbb8e5a3..000000000
--- a/fuzz/corpus/fuzz_serialization/63c9f30967ffc232fd1b52b7b3f0b9a99051e81e
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_serialization/77206cbd399692b257926ffad2150642cb10dfbf b/fuzz/corpus/fuzz_serialization/77206cbd399692b257926ffad2150642cb10dfbf
new file mode 100644
index 000000000..11b2badea
--- /dev/null
+++ b/fuzz/corpus/fuzz_serialization/77206cbd399692b257926ffad2150642cb10dfbf
Binary files differ
diff --git a/fuzz/corpus/fuzz_serialization/82bb3eab86d4063ea4a3cb97821feb07cecf7b72 b/fuzz/corpus/fuzz_serialization/82bb3eab86d4063ea4a3cb97821feb07cecf7b72
deleted file mode 100644
index 680fc5115..000000000
--- a/fuzz/corpus/fuzz_serialization/82bb3eab86d4063ea4a3cb97821feb07cecf7b72
+++ /dev/null
@@ -1 +0,0 @@
- \ No newline at end of file
diff --git a/fuzz/corpus/fuzz_serialization/83631c962f6eb3da79b4ac7c8c7074b8d6227679 b/fuzz/corpus/fuzz_serialization/83631c962f6eb3da79b4ac7c8c7074b8d6227679
deleted file mode 100644
index aa3a75469..000000000
--- a/fuzz/corpus/fuzz_serialization/83631c962f6eb3da79b4ac7c8c7074b8d6227679
+++ /dev/null
@@ -1 +0,0 @@
-!9dDD]4} \ No newline at end of file
diff --git a/fuzz/corpus/fuzz_serialization/85d363c3f0967b1c9d3ec9d1038fd1c153a9cb67 b/fuzz/corpus/fuzz_serialization/85d363c3f0967b1c9d3ec9d1038fd1c153a9cb67
new file mode 100644
index 000000000..7a3678cfb
--- /dev/null
+++ b/fuzz/corpus/fuzz_serialization/85d363c3f0967b1c9d3ec9d1038fd1c153a9cb67
Binary files differ
diff --git a/fuzz/corpus/fuzz_serialization/8ac56fc7a60893ae2e6019bc00644af784c50067 b/fuzz/corpus/fuzz_serialization/8ac56fc7a60893ae2e6019bc00644af784c50067
new file mode 100644
index 000000000..fbbea51c3
--- /dev/null
+++ b/fuzz/corpus/fuzz_serialization/8ac56fc7a60893ae2e6019bc00644af784c50067
Binary files differ
diff --git a/fuzz/corpus/fuzz_serialization/97f9c819682d7ddc67733f4ba04511c2005d2660 b/fuzz/corpus/fuzz_serialization/97f9c819682d7ddc67733f4ba04511c2005d2660
new file mode 100644
index 000000000..96580b040
--- /dev/null
+++ b/fuzz/corpus/fuzz_serialization/97f9c819682d7ddc67733f4ba04511c2005d2660
Binary files differ
diff --git a/fuzz/corpus/fuzz_serialization/aa564c1c9f0278ad73a1958433ef4305f9ac71fd b/fuzz/corpus/fuzz_serialization/9dae31ee55b9d421f11caa6fd6257faf8b992675
index 5ed0440d8..a7b022a65 100644
--- a/fuzz/corpus/fuzz_serialization/aa564c1c9f0278ad73a1958433ef4305f9ac71fd
+++ b/fuzz/corpus/fuzz_serialization/9dae31ee55b9d421f11caa6fd6257faf8b992675
Binary files differ
diff --git a/fuzz/corpus/fuzz_serialization/a0de36639862a94a491974369a7c45a16ed4ff6e b/fuzz/corpus/fuzz_serialization/a0de36639862a94a491974369a7c45a16ed4ff6e
deleted file mode 100644
index f479d3c7a..000000000
--- a/fuzz/corpus/fuzz_serialization/a0de36639862a94a491974369a7c45a16ed4ff6e
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_serialization/a5dd6d24cfa78a8faba860c8806bac4ba7540eff b/fuzz/corpus/fuzz_serialization/a5dd6d24cfa78a8faba860c8806bac4ba7540eff
deleted file mode 100644
index 056d869a8..000000000
--- a/fuzz/corpus/fuzz_serialization/a5dd6d24cfa78a8faba860c8806bac4ba7540eff
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_serialization/b2107343881e2efae5b729ef8f64234a7d772f3d b/fuzz/corpus/fuzz_serialization/b2107343881e2efae5b729ef8f64234a7d772f3d
deleted file mode 100644
index 78e6cdd71..000000000
--- a/fuzz/corpus/fuzz_serialization/b2107343881e2efae5b729ef8f64234a7d772f3d
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_serialization/b59e95164582a933229e86ed21cbcdd70010faec b/fuzz/corpus/fuzz_serialization/b59e95164582a933229e86ed21cbcdd70010faec
deleted file mode 100644
index 025458c68..000000000
--- a/fuzz/corpus/fuzz_serialization/b59e95164582a933229e86ed21cbcdd70010faec
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_serialization/bcbec15886272236f8be41e4749d352051bd217e b/fuzz/corpus/fuzz_serialization/bcbec15886272236f8be41e4749d352051bd217e
new file mode 100644
index 000000000..e28d01f31
--- /dev/null
+++ b/fuzz/corpus/fuzz_serialization/bcbec15886272236f8be41e4749d352051bd217e
Binary files differ
diff --git a/fuzz/corpus/fuzz_serialization/df3387059bc65a41f137c3292737f7c2891ac2a1 b/fuzz/corpus/fuzz_serialization/df3387059bc65a41f137c3292737f7c2891ac2a1
deleted file mode 100644
index e6ea6eea4..000000000
--- a/fuzz/corpus/fuzz_serialization/df3387059bc65a41f137c3292737f7c2891ac2a1
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_serialization/eb4911efad5e1499cdfcd23a6e9bab9902b8a05e b/fuzz/corpus/fuzz_serialization/eb4911efad5e1499cdfcd23a6e9bab9902b8a05e
deleted file mode 100644
index 00bcf3ba7..000000000
--- a/fuzz/corpus/fuzz_serialization/eb4911efad5e1499cdfcd23a6e9bab9902b8a05e
+++ /dev/null
Binary files differ
diff --git a/fuzz/corpus/fuzz_serialization/f0f58b2a1c62c37d7b8bc50a9db2d8d870e8b3a7 b/fuzz/corpus/fuzz_serialization/f0f58b2a1c62c37d7b8bc50a9db2d8d870e8b3a7
new file mode 100644
index 000000000..d8d4fd0ea
--- /dev/null
+++ b/fuzz/corpus/fuzz_serialization/f0f58b2a1c62c37d7b8bc50a9db2d8d870e8b3a7
Binary files differ
diff --git a/fuzz/corpus/fuzz_serialization/f96555266adfc22b92ecd46749406be33e27beaa b/fuzz/corpus/fuzz_serialization/f96555266adfc22b92ecd46749406be33e27beaa
deleted file mode 100644
index a22edb026..000000000
--- a/fuzz/corpus/fuzz_serialization/f96555266adfc22b92ecd46749406be33e27beaa
+++ /dev/null
Binary files differ
diff --git a/fuzz/fuzz_alg_bytestream.c b/fuzz/fuzz_alg_bytestream.c
new file mode 100644
index 000000000..4096c9d9a
--- /dev/null
+++ b/fuzz/fuzz_alg_bytestream.c
@@ -0,0 +1,13 @@
+#include "ndpi_api.h"
+
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
+ u_int16_t bytes_read;
+
+ /* No memory allocations involved */
+
+ ndpi_bytestream_to_number64(data, size, &bytes_read);
+ ndpi_bytestream_dec_or_hex_to_number64(data, size, &bytes_read);
+ ntohs_ndpi_bytestream_to_number(data, size, &bytes_read);
+
+ return 0;
+}
diff --git a/fuzz/fuzz_config.cpp b/fuzz/fuzz_config.cpp
index 5cd94021d..de1bdd3e8 100644
--- a/fuzz/fuzz_config.cpp
+++ b/fuzz/fuzz_config.cpp
@@ -6,6 +6,7 @@
#include <assert.h>
#include "fuzzer/FuzzedDataProvider.h"
+extern "C" void ndpi_self_check_host_match(); /* Self check function */
extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
FuzzedDataProvider fuzzed_data(data, size);
@@ -24,12 +25,14 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
char *protoname;
char catname[] = "name";
struct ndpi_flow_input_info input_info;
- ndpi_proto p;
+ ndpi_proto p, p2;
+ char out[128];
if(fuzzed_data.remaining_bytes() < 4 + /* ndpi_init_detection_module() */
NDPI_MAX_SUPPORTED_PROTOCOLS + NDPI_MAX_NUM_CUSTOM_PROTOCOLS +
- 5 + /* files */
+ 1 + /* TLS cert expire */
+ 6 + /* files */
((NDPI_LRUCACHE_MAX + 1) * 5) + /* LRU caches */
2 + 1 + 5 + /* ndpi_set_detection_preferences() */
7 + /* Opportunistic tls */
@@ -37,7 +40,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
2 + /* Category */
1 + /* Bool value */
2 + /* input_info */
- 29 /* Min real data: ip length + udp length + 1 byte */)
+ 21 /* Min real data: ip length + 1 byte of L4 header */)
return -1;
/* To allow memory allocation failures */
@@ -55,6 +58,8 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
ndpi_info_mod = NULL;
}
+ ndpi_set_tls_cert_expire_days(ndpi_info_mod, fuzzed_data.ConsumeIntegral<u_int8_t>());
+
if(fuzzed_data.ConsumeBool())
ndpi_load_protocols_file(ndpi_info_mod, "protos.txt");
if(fuzzed_data.ConsumeBool())
@@ -65,6 +70,9 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
ndpi_load_malicious_ja3_file(ndpi_info_mod, "ja3_fingerprints.csv");
if(fuzzed_data.ConsumeBool())
ndpi_load_malicious_sha1_file(ndpi_info_mod, "sha1_fingerprints.csv");
+ /* Note that this function is not used by ndpiReader */
+ if(fuzzed_data.ConsumeBool())
+ ndpi_load_ipv4_ptree(ndpi_info_mod, "ipv4_addresses.txt", NDPI_PROTOCOL_TLS);
for(i = 0; i < NDPI_LRUCACHE_MAX + 1; i++) { /* + 1 to test invalid type */
ndpi_set_lru_cache_size(ndpi_info_mod, static_cast<lru_cache_type>(i),
@@ -121,6 +129,9 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
ndpi_get_category_id(ndpi_info_mod, catname);
ndpi_get_num_supported_protocols(ndpi_info_mod);
+ ndpi_get_ndpi_num_custom_protocols(ndpi_info_mod);
+
+ ndpi_self_check_host_match();
/* Basic code to try testing this "config" */
bool_value = fuzzed_data.ConsumeBool();
@@ -128,7 +139,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
input_info.seen_flow_beginning = !!fuzzed_data.ConsumeBool();
memset(&flow, 0, sizeof(flow));
std::vector<uint8_t>pkt = fuzzed_data.ConsumeRemainingBytes<uint8_t>();
- assert(pkt.size() >= 29); /* To be sure check on fuzzed_data.remaining_bytes() at the beginning is right */
+ assert(pkt.size() >= 21); /* 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, &input_info);
p = ndpi_detection_giveup(ndpi_info_mod, &flow, 1, &protocol_was_guessed);
assert(p.master_protocol == ndpi_get_flow_masterprotocol(ndpi_info_mod, &flow));
@@ -136,15 +147,24 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
assert(p.category == ndpi_get_flow_category(ndpi_info_mod, &flow));
ndpi_get_lower_proto(p);
ndpi_get_upper_proto(p);
+ ndpi_get_flow_error_code(&flow);
+ ndpi_get_flow_risk_info(&flow, out, sizeof(out), 1);
+ ndpi_get_flow_ndpi_proto(ndpi_info_mod, &flow, &p2);
+ ndpi_is_proto(p, NDPI_PROTOCOL_TLS);
/* 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, bool_value ? &flow : NULL,
- flow.l4_proto,
- flow.c_address.v4, flow.s_address.v4,
- flow.c_port, flow.s_port);
- /* Another "strange" function: fuzz it here, for lack of a better alternative */
- ndpi_search_tcp_or_udp(ndpi_info_mod, &flow);
+ if(!ndpi_is_protocol_detected(ndpi_info_mod, p)) {
+ if(!flow.is_ipv6) {
+ ndpi_guess_undetected_protocol(ndpi_info_mod, bool_value ? &flow : NULL,
+ flow.l4_proto,
+ flow.c_address.v4, flow.s_address.v4,
+ flow.c_port, flow.s_port);
+ /* Another "strange" function (ipv4 only): fuzz it here, for lack of a better alternative */
+ ndpi_find_ipv4_category_userdata(ndpi_info_mod, flow.c_address.v4);
+ }
+ /* Another "strange" function: fuzz it here, for lack of a better alternative */
+ ndpi_search_tcp_or_udp(ndpi_info_mod, &flow);
+ }
ndpi_free_flow_data(&flow);
/* Get some final stats */
@@ -155,6 +175,11 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
for(i = 0; i < NDPI_AUTOMA_MAX + 1; i++) /* + 1 to test invalid type */
ndpi_get_automa_stats(ndpi_info_mod, static_cast<automa_type>(i), &automa_stats);
+
+ ndpi_revision();
+ ndpi_get_api_version();
+ ndpi_get_gcrypt_version();
+
ndpi_exit_detection_module(ndpi_info_mod);
return 0;
diff --git a/fuzz/fuzz_ds_ahocorasick.cpp b/fuzz/fuzz_ds_ahocorasick.cpp
index cd56058e1..5297236e3 100644
--- a/fuzz/fuzz_ds_ahocorasick.cpp
+++ b/fuzz/fuzz_ds_ahocorasick.cpp
@@ -13,6 +13,7 @@ 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;
AC_AUTOMATA_t *a;
+ void *a2;
MATCH_CALLBACK_f mc;
struct ac_stats stats;
AC_PATTERN_t ac_pattern;
@@ -20,9 +21,14 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
AC_REP_t match;
AC_TEXT_t ac_input_text;
FILE *f;
+ u_int16_t protocol_id;
+ ndpi_protocol_category_t category;
+ ndpi_protocol_breed_t breed;
/* TODO: real string instead of random bytes */
+ /* Use both APIs */
+
/* Just to have some data */
if (fuzzed_data.remaining_bytes() < 1024)
return -1;
@@ -36,6 +42,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
mc = NULL;
a = ac_automata_init(mc);
+ a2 = ndpi_init_automa();
if (fuzzed_data.ConsumeBool())
ac_automata_feature(a, AC_FEATURE_DEBUG);
@@ -77,10 +84,18 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
is_added = 1;
}
}
+
+ value_dup = ndpi_strdup(value.c_str());
+ if (!value_dup)
+ continue;
+ if (ndpi_add_string_to_automa(a2, value_dup) != 0)
+ ndpi_free(value_dup);
}
- if (fuzzed_data.ConsumeBool())
+ if (fuzzed_data.ConsumeBool()) {
ac_automata_finalize(a);
+ ndpi_finalize_automa(a2);
+ }
/* "Random" search */
num_iteration = fuzzed_data.ConsumeIntegral<u_int8_t>();
@@ -96,6 +111,10 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
ac_automata_search(a, &ac_input_text, &match);
ndpi_free(value_dup);
+
+ ndpi_match_string(a2, (char *)value.c_str());
+ ndpi_match_string_protocol_id(a2, (char *)value.c_str(), strlen(value.c_str()),
+ &protocol_id, &category, &breed);
}
/* Search of an added node */
if (is_added) {
@@ -104,6 +123,11 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
ac_input_text.option = 0;
ac_automata_search(a, &ac_input_text, &match);
+
+ ndpi_match_string(a2, value_added);
+ ndpi_match_string_protocol_id(a2, value_added, strlen(value_added),
+ &protocol_id, &category, &breed);
+
ndpi_free(value_added);
}
@@ -114,6 +138,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
ac_automata_get_stats(a, &stats);
ac_automata_release(a, 1);
+ ndpi_free_automa(a2);
return 0;
}
diff --git a/fuzz/fuzz_ds_ptree.cpp b/fuzz/fuzz_ds_ptree.cpp
index ae92a0257..d8a055c3b 100644
--- a/fuzz/fuzz_ds_ptree.cpp
+++ b/fuzz/fuzz_ds_ptree.cpp
@@ -11,10 +11,11 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
FuzzedDataProvider fuzzed_data(data, size);
u_int16_t i, num_iteration;
ndpi_ptree_t *t;
- ndpi_ip_addr_t addr, addr_added;
+ ndpi_ip_addr_t addr, addr2, addr_added;
u_int8_t bits;
int rc, is_added = 0;
u_int64_t user_data;
+ char buf_ip[256];
/* To allow memory allocation failures */
fuzz_set_alloc_callbacks_and_seed(size);
@@ -37,6 +38,9 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
bits = fuzzed_data.ConsumeIntegralInRange(0, 32);
};
+ /* Not really ptree stuff, but this seem the right place to fuzz these `ndpi_ip_addr_t` functions */
+ ndpi_parse_ip_string(ndpi_get_ip_string(&addr, buf_ip, sizeof(buf_ip)), &addr2);
+
rc = ndpi_ptree_insert(t, &addr, bits, 0);
/* Keep one random node really added */
if (rc == 0 && is_added == 0 && fuzzed_data.ConsumeBool()) {
diff --git a/fuzz/fuzz_libinjection.c b/fuzz/fuzz_libinjection.c
new file mode 100644
index 000000000..9fd60107b
--- /dev/null
+++ b/fuzz/fuzz_libinjection.c
@@ -0,0 +1,25 @@
+#include "ndpi_api.h"
+#include "../src/lib/third_party/include/libinjection.h"
+#include "../src/lib/third_party/include/libinjection_xss.h"
+#include "../src/lib/third_party/include/libinjection_sqli.h"
+
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
+ char *query;
+ char fingerprint[8];
+
+ /* No memory allocations involved */
+
+ /* Libinjection: it wants null-terminated string */
+
+ query = malloc(size + 1);
+ memcpy(query, data, size);
+ query[size] = '\0';
+
+ libinjection_sqli(query, strlen(query), fingerprint);
+
+ libinjection_xss(query, strlen(query));
+
+ free(query);
+
+ return 0;
+}
diff --git a/fuzz/fuzz_ndpi_reader.c b/fuzz/fuzz_ndpi_reader.c
index 3ea222eff..5f08220bc 100644
--- a/fuzz/fuzz_ndpi_reader.c
+++ b/fuzz/fuzz_ndpi_reader.c
@@ -15,7 +15,7 @@ int nDPI_LogLevel = 0;
char *_debug_protocols = NULL;
u_int32_t current_ndpi_memory = 0, max_ndpi_memory = 0;
u_int8_t enable_protocol_guess = 1, enable_payload_analyzer = 0;
-u_int8_t enable_flow_stats = 0;
+u_int8_t enable_flow_stats = 1;
u_int8_t human_readeable_string_len = 5;
u_int8_t max_num_udp_dissected_pkts = 16 /* 8 is enough for most protocols, Signal requires more */, max_num_tcp_dissected_pkts = 80 /* due to telnet */;
ndpi_init_prefs init_prefs = ndpi_track_flow_payload | ndpi_enable_ja3_plus;
diff --git a/fuzz/fuzz_serialization.cpp b/fuzz/fuzz_serialization.cpp
index f1e66399c..e5d02d4d7 100644
--- a/fuzz/fuzz_serialization.cpp
+++ b/fuzz/fuzz_serialization.cpp
@@ -142,6 +142,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
if (fmt == ndpi_serialization_format_csv) {
ndpi_serializer_get_header(&serializer, &buffer_len);
ndpi_serializer_get_buffer(&serializer, &buffer_len);
+ ndpi_serializer_set_buffer_len(&serializer, fuzzed_data.ConsumeIntegral<u_int32_t>());
} else if (fmt == ndpi_serialization_format_tlv) {
/* Conversion from tlv to json */
rc = ndpi_init_deserializer(&deserializer, &serializer);
@@ -154,6 +155,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
ndpi_serializer_get_buffer_len(&serializer_cloned);
ndpi_serializer_get_internal_buffer_size(&serializer_cloned);
ndpi_term_serializer(&serializer_cloned);
+ assert(ndpi_deserialize_get_format(&deserializer) == ndpi_serialization_format_tlv);
}
}
diff --git a/fuzz/ipv4_addresses.txt b/fuzz/ipv4_addresses.txt
new file mode 100644
index 000000000..209765e5a
--- /dev/null
+++ b/fuzz/ipv4_addresses.txt
@@ -0,0 +1,6 @@
+#Random list of ipv4 addresses
+
+192.168.5.5
+192.168.5.6/32
+192.168.4.0/24
+
diff --git a/src/include/ndpi_api.h b/src/include/ndpi_api.h
index a63e29c7f..dd065783d 100644
--- a/src/include/ndpi_api.h
+++ b/src/include/ndpi_api.h
@@ -896,7 +896,7 @@ extern "C" {
* @par The automata initialized with ndpi_init_automa();
* @par The (sub)string to search (malloc'ed memory)
* @par The number associated with this string
- * @return 0 in case of no error, or -1 if an error occurred.
+ * @return 0 in case of no error, or -2 if the string has been already addeed, or -1 if an error occurred.
*
*/
int ndpi_add_string_value_to_automa(void *_automa, char *str, u_int32_t num);
diff --git a/src/include/ndpi_main.h b/src/include/ndpi_main.h
index 1337cc63f..4fd47d96c 100644
--- a/src/include/ndpi_main.h
+++ b/src/include/ndpi_main.h
@@ -95,7 +95,7 @@ extern "C" {
struct ndpi_flow_struct *flow);
extern u_int16_t ndpi_check_for_email_address(struct ndpi_detection_module_struct *ndpi_struct,
- struct ndpi_flow_struct *flow, u_int16_t counter);
+ u_int16_t counter);
extern void ndpi_int_change_category(struct ndpi_detection_module_struct *ndpi_struct,
struct ndpi_flow_struct *flow,
@@ -104,8 +104,6 @@ extern "C" {
extern void ndpi_set_proto_subprotocols(struct ndpi_detection_module_struct *ndpi_mod,
int protoId, ...);
- extern void ndpi_int_reset_protocol(struct ndpi_flow_struct *flow);
-
extern int ndpi_packet_src_ip_eql(const struct ndpi_packet_struct *packet, const ndpi_ip_addr_t * ip);
extern int ndpi_packet_dst_ip_eql(const struct ndpi_packet_struct *packet, const ndpi_ip_addr_t * ip);
extern void ndpi_packet_src_ip_get(const struct ndpi_packet_struct *packet, ndpi_ip_addr_t * ip);
diff --git a/src/lib/ndpi_main.c b/src/lib/ndpi_main.c
index 2df9dd0cc..89b9a585e 100644
--- a/src/lib/ndpi_main.c
+++ b/src/lib/ndpi_main.c
@@ -185,6 +185,13 @@ static ndpi_risk_info ndpi_known_risks[] = {
/* Leave this as last member */
{ NDPI_MAX_RISK, NDPI_RISK_LOW, CLIENT_FAIR_RISK_PERCENTAGE, NDPI_NO_ACCOUNTABILITY }
};
+#if !defined(NDPI_CFFI_PREPROCESSING) && defined(__linux__)
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
+_Static_assert(sizeof(ndpi_known_risks) / sizeof(ndpi_risk_info) == NDPI_MAX_RISK + 1,
+ "Invalid risks length. Do you need to update 'ndpi_known_risks' array?");
+#endif
+#endif
+
/* ****************************************** */
@@ -998,7 +1005,7 @@ int ndpi_set_detection_preferences(struct ndpi_detection_module_struct *ndpi_str
/* ******************************************************************** */
static void ndpi_validate_protocol_initialization(struct ndpi_detection_module_struct *ndpi_str) {
- u_int i, val;
+ u_int i;
for(i = 0; i < ndpi_str->ndpi_num_supported_protocols; i++) {
if(ndpi_str->proto_defaults[i].protoName == NULL) {
@@ -1013,13 +1020,6 @@ static void ndpi_validate_protocol_initialization(struct ndpi_detection_module_s
}
}
}
-
- /* Sanity check for risks initialization */
- val = (sizeof(ndpi_known_risks) / sizeof(ndpi_risk_info)) - 1;
- if(val != NDPI_MAX_RISK) {
- NDPI_LOG_ERR(ndpi_str, "[NDPI] INTERNAL ERROR Invalid ndpi_known_risks[] initialization [%u != %u]\n", val, NDPI_MAX_RISK);
- exit(0);
- }
}
/* ******************************************************************** */
@@ -2094,7 +2094,7 @@ int ac_domain_match_handler(AC_MATCH_t *m, AC_TEXT_t *txt, AC_REP_t *match) {
AC_PATTERN_t *pattern = m->patterns;
int i,start,end = m->position;
- for(i=0; i < m->match_num; i++,pattern++) {
+ for(i=0; i < m->match_num && i < 32; i++,pattern++) {
/*
* See ac_automata_exact_match()
* The bit is set if the pattern exactly matches AND
@@ -2385,6 +2385,9 @@ int ndpi_load_ipv4_ptree(struct ndpi_detection_module_struct *ndpi_str,
int len;
u_int num_loaded = 0;
+ if(!ndpi_str || !path || !ndpi_str->protocols_ptree)
+ return(-1);
+
fd = fopen(path, "r");
if(fd == NULL) {
@@ -3062,7 +3065,7 @@ int ndpi_add_string_value_to_automa(void *_automa, char *str, u_int32_t num) {
ac_pattern.length = strlen(ac_pattern.astring);
rc = ac_automata_add(automa, &ac_pattern);
- return(rc == ACERR_SUCCESS || rc == ACERR_DUPLICATE_PATTERN ? 0 : -1);
+ return(rc == ACERR_SUCCESS ? 0 : (rc == ACERR_DUPLICATE_PATTERN ? -2 : -1));
}
/* ****************************************************** */
@@ -3139,7 +3142,9 @@ static int ndpi_match_string_common(AC_AUTOMATA_t *automa, char *string_to_match
}
if(automa->automata_open) {
+#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
printf("[%s:%d] [NDPI] Internal error: please call ndpi_finalize_initialization()\n", __FILE__, __LINE__);
+#endif
return(-1);
}
@@ -6306,13 +6311,13 @@ void* ndpi_find_ipv4_category_userdata(struct ndpi_detection_module_struct *ndpi
u_int32_t saddr) {
ndpi_patricia_node_t *node;
- if(saddr == 0)
+ if(saddr == 0 || !ndpi_str || !ndpi_str->custom_categories.ipAddresses)
node = NULL;
else {
ndpi_prefix_t prefix;
ndpi_fill_prefix_v4(&prefix, (struct in_addr *) &saddr, 32,
- ((ndpi_patricia_tree_t *) ndpi_str->protocols_ptree)->maxbits);
+ ((ndpi_patricia_tree_t *) ndpi_str->custom_categories.ipAddresses)->maxbits);
node = ndpi_patricia_search_best(ndpi_str->custom_categories.ipAddresses, &prefix);
}
@@ -6816,7 +6821,7 @@ u_int32_t ndpi_bytestream_to_number(const u_int8_t *str, u_int16_t max_chars_to_
val = 0;
// cancel if eof, ' ' or line end chars are reached
- while(*str >= '0' && *str <= '9' && max_chars_to_read > 0) {
+ while(max_chars_to_read > 0 && *str >= '0' && *str <= '9') {
val *= 10;
val += *str - '0';
str++;
@@ -7302,7 +7307,7 @@ void ndpi_parse_packet_line_info_any(struct ndpi_detection_module_struct *ndpi_s
/* ********************************************************************************* */
-u_int16_t ndpi_check_for_email_address(struct ndpi_detection_module_struct *ndpi_str, struct ndpi_flow_struct *flow,
+u_int16_t ndpi_check_for_email_address(struct ndpi_detection_module_struct *ndpi_str,
u_int16_t counter) {
struct ndpi_packet_struct *packet = &ndpi_str->packet;
@@ -7499,18 +7504,6 @@ void ndpi_int_change_category(struct ndpi_detection_module_struct *ndpi_str, str
/* ********************************************************************************* */
-void ndpi_int_reset_protocol(struct ndpi_flow_struct *flow) {
- if(flow) {
- int a;
-
- for(a = 0; a < NDPI_PROTOCOL_SIZE; a++)
- flow->detected_protocol_stack[a] = NDPI_PROTOCOL_UNKNOWN;
- flow->confidence = NDPI_CONFIDENCE_UNKNOWN;
- }
-}
-
-/* ********************************************************************************* */
-
void NDPI_PROTOCOL_IP_clear(ndpi_ip_addr_t *ip) {
memset(ip, 0, sizeof(ndpi_ip_addr_t));
}
@@ -8331,7 +8324,7 @@ u_int16_t ndpi_match_host_subprotocol(struct ndpi_detection_module_struct *ndpi_
}
/* Add punycode check */
- if(ndpi_strnstr(string_to_match, "xn--", string_to_match_len)) {
+ if(ndpi_check_punycode_string(string_to_match, string_to_match_len)) {
char str[64] = { '\0' };
strncpy(str, string_to_match, ndpi_min(string_to_match_len, sizeof(str)-1));
@@ -8452,15 +8445,15 @@ const char *ndpi_get_gcrypt_version(void) {
}
ndpi_proto_defaults_t *ndpi_get_proto_defaults(struct ndpi_detection_module_struct *ndpi_str) {
- return(ndpi_str->proto_defaults);
+ return(ndpi_str ? ndpi_str->proto_defaults : NULL);
}
u_int ndpi_get_ndpi_num_supported_protocols(struct ndpi_detection_module_struct *ndpi_str) {
- return(ndpi_str->ndpi_num_supported_protocols);
+ return(ndpi_str ? ndpi_str->ndpi_num_supported_protocols : 0);
}
u_int ndpi_get_ndpi_num_custom_protocols(struct ndpi_detection_module_struct *ndpi_str) {
- return(ndpi_str->ndpi_num_custom_protocols);
+ return(ndpi_str ? ndpi_str->ndpi_num_custom_protocols : 0);
}
u_int ndpi_get_ndpi_detection_module_size() {
diff --git a/src/lib/ndpi_serializer.c b/src/lib/ndpi_serializer.c
index 17231a83b..efae73b05 100644
--- a/src/lib/ndpi_serializer.c
+++ b/src/lib/ndpi_serializer.c
@@ -1650,6 +1650,7 @@ int ndpi_serialize_binary_uint32(ndpi_serializer *_serializer,
if(ndpi_serialize_json_post(_serializer) != 0)
return(-1);
} else if(serializer->fmt == ndpi_serialization_format_csv) {
+#ifndef OPTIMIZE_CSV_SERIALIZATION
if (ndpi_serializer_header_string(serializer, key, klen) < 0) return(-1);
ndpi_serialize_csv_pre(serializer);
buff_diff = serializer->buffer.size - serializer->status.buffer.size_used;
@@ -1659,6 +1660,7 @@ int ndpi_serialize_binary_uint32(ndpi_serializer *_serializer,
if(rc < 0 || (u_int)rc >= buff_diff)
return(-1);
serializer->status.buffer.size_used += rc;
+#endif
} else {
if(value <= 0xff) {
serializer->buffer.data[serializer->status.buffer.size_used++] = (ndpi_serialization_string << 4) | ndpi_serialization_uint8;
diff --git a/src/lib/ndpi_utils.c b/src/lib/ndpi_utils.c
index 27a197d0f..53ed95939 100644
--- a/src/lib/ndpi_utils.c
+++ b/src/lib/ndpi_utils.c
@@ -91,7 +91,7 @@ _Static_assert(sizeof(struct ndpi_str_hash) == sizeof(struct ndpi_str_hash_priva
int ndpi_check_punycode_string(char * buffer , int len) {
int i = 0;
- while(i++ < len) {
+ while(i++ < len - 3) {
if((buffer[i] == 'x')
&& (buffer[i+1] == 'n')
&& (buffer[i+2] == '-')
@@ -2717,7 +2717,8 @@ u_int8_t ndpi_is_encrypted_proto(struct ndpi_detection_module_struct *ndpi_str,
void ndpi_set_tls_cert_expire_days(struct ndpi_detection_module_struct *ndpi_str,
u_int8_t num_days) {
- ndpi_str->tls_certificate_expire_in_x_days = num_days;
+ if(ndpi_str)
+ ndpi_str->tls_certificate_expire_in_x_days = num_days;
}
/* ******************************************* */