From bda0031ef1231be90858674e57596e680012c596 Mon Sep 17 00:00:00 2001 From: Jakub Retajczyk Date: Mon, 2 Feb 2026 09:27:05 +0100 Subject: [PATCH 1/2] Fuzz test swap_token_utils --- fuzzing/CMakeLists.txt | 9 ++- .../067d5096f219c64b53bb1c7d5e3754285b565a47 | 1 + .../07b7255eacbc81c051445ebe4f8c74fc8892dd3e | 1 + .../1c04aeb9237754d463eb7a4034186423b303e205 | 1 + .../24a81463ef475fccda4ca89e784769d79c399dec | 4 ++ .../289b7d4265cdec1610b71e09611f6103299ad4c3 | Bin 0 -> 11 bytes .../2a49abb2c75cd695dddc04fd5a646afe742be0b2 | Bin 0 -> 11 bytes .../2ab034c96fe2c20365ca865fe32f7fbeb19988ae | Bin 0 -> 11 bytes .../2e1d718ccabbcef782cdcde253b6fd1921e2841e | Bin 0 -> 11 bytes .../3b6982891297f256a47e4205c6acadbf26f47951 | Bin 0 -> 11 bytes .../3c374c83a1ddf15530935334cc412303e95aee39 | 1 + .../3d525786d78c32240bf89a2918fbbf1c3e2c707d | Bin 0 -> 11 bytes .../3e96bc181314bffb3f5685bf2c8f95793b9850cc | 1 + .../406caeba676b19424eccdf337c88086179997fa3 | Bin 0 -> 11 bytes .../4850f9760eb03d360c1a196290db81e91cf643cf | 2 + .../4eaa9c8f68e0fbf698a98decc734f65d40b2c79d | Bin 0 -> 5 bytes .../518cf50afecf443ec57b6d5d133d64f330b11c2d | 1 + .../52a12400599040087a21cf920113edf9291d5ae0 | Bin 0 -> 11 bytes .../5bd106a0f6dd6e3da8cfde80af949d73ddd3f43d | 3 + .../6f83d3705871dc7a0a3a208fcf8a2802a2e0630f | Bin 0 -> 11 bytes .../710073142c821a9164187b7f2f53cdac9611daeb | Bin 0 -> 11 bytes .../71853c6197a6a7f222db0f1978c7cb232b87c5ee | 2 + .../71cbf19f040b65b4874ff006e78842067297e552 | 1 + .../73208593ee762db437b80f3046559564d064627d | Bin 0 -> 11 bytes .../7415f282290ad6af0f66502f1daa33976d429514 | Bin 0 -> 11 bytes .../7762eabf9387fe8ec5d648cd3b1d9eb6d820caa2 | 1 + .../7c338ed2840d2bf55f9f5e4eed04f66c80840eb3 | 3 + .../875a4716c3827944717f6c87bf56c9e17831cd0f | Bin 0 -> 11 bytes .../8b13d55fe069b9d422f4f030603193fcf5fc51a6 | Bin 0 -> 11 bytes .../916d38100855cd4c699f4efd903d68588fad542c | Bin 0 -> 11 bytes .../a12e7e10dd950ad556f4ead515bcba80f4312f9a | 1 + .../a6420a9b9c1e560d9d63e8e54e5b96b754593c33 | Bin 0 -> 11 bytes .../a8ae2bb7852649ad806ea12b5b41a2f262d46bd0 | 3 + .../bd84b3e8ff99757bc5e837498c00836c854b1d4f | Bin 0 -> 11 bytes .../bf97c5fa6981016efbaa598bf12c26828317a067 | 1 + .../c4f87a6290aee1acfc1f26083974ce94621fca64 | 1 + .../ceadc8bb8cc6151373c59806b8b26d2040dd1427 | Bin 0 -> 28 bytes .../d1854cae891ec7b29161ccaf79a24b00c274bdaa | 1 + .../d2c635f5d293ece01c7f8a284c9cdf3fbe32dd86 | Bin 0 -> 11 bytes .../d745d73297c44a1a41646d67033933f71da2b0ad | 1 + .../e8ecf732ba712823810c1c595df4f5fdff24601d | Bin 0 -> 13 bytes .../eadc1149a2651a8389a03a0a40751773f7e989f0 | Bin 0 -> 11 bytes .../efe43def97eb295fe99c3753f2d740d7b36df689 | 1 + .../f19decfc6a41ebb9a28dcca01b5a38be747be29a | 2 + .../ff6e672c8f8d6408fc9f73c60cf4f06a5c4b19a0 | Bin 0 -> 11 bytes fuzzing/fuzzer_swap_token_utils.c | 67 ++++++++++++++++++ fuzzing/run_fuzzing.sh | 8 ++- 47 files changed, 114 insertions(+), 3 deletions(-) create mode 100644 fuzzing/corpus/swap_token_utils/067d5096f219c64b53bb1c7d5e3754285b565a47 create mode 100644 fuzzing/corpus/swap_token_utils/07b7255eacbc81c051445ebe4f8c74fc8892dd3e create mode 100644 fuzzing/corpus/swap_token_utils/1c04aeb9237754d463eb7a4034186423b303e205 create mode 100644 fuzzing/corpus/swap_token_utils/24a81463ef475fccda4ca89e784769d79c399dec create mode 100644 fuzzing/corpus/swap_token_utils/289b7d4265cdec1610b71e09611f6103299ad4c3 create mode 100644 fuzzing/corpus/swap_token_utils/2a49abb2c75cd695dddc04fd5a646afe742be0b2 create mode 100644 fuzzing/corpus/swap_token_utils/2ab034c96fe2c20365ca865fe32f7fbeb19988ae create mode 100644 fuzzing/corpus/swap_token_utils/2e1d718ccabbcef782cdcde253b6fd1921e2841e create mode 100644 fuzzing/corpus/swap_token_utils/3b6982891297f256a47e4205c6acadbf26f47951 create mode 100644 fuzzing/corpus/swap_token_utils/3c374c83a1ddf15530935334cc412303e95aee39 create mode 100644 fuzzing/corpus/swap_token_utils/3d525786d78c32240bf89a2918fbbf1c3e2c707d create mode 100644 fuzzing/corpus/swap_token_utils/3e96bc181314bffb3f5685bf2c8f95793b9850cc create mode 100644 fuzzing/corpus/swap_token_utils/406caeba676b19424eccdf337c88086179997fa3 create mode 100644 fuzzing/corpus/swap_token_utils/4850f9760eb03d360c1a196290db81e91cf643cf create mode 100644 fuzzing/corpus/swap_token_utils/4eaa9c8f68e0fbf698a98decc734f65d40b2c79d create mode 100644 fuzzing/corpus/swap_token_utils/518cf50afecf443ec57b6d5d133d64f330b11c2d create mode 100644 fuzzing/corpus/swap_token_utils/52a12400599040087a21cf920113edf9291d5ae0 create mode 100644 fuzzing/corpus/swap_token_utils/5bd106a0f6dd6e3da8cfde80af949d73ddd3f43d create mode 100644 fuzzing/corpus/swap_token_utils/6f83d3705871dc7a0a3a208fcf8a2802a2e0630f create mode 100644 fuzzing/corpus/swap_token_utils/710073142c821a9164187b7f2f53cdac9611daeb create mode 100644 fuzzing/corpus/swap_token_utils/71853c6197a6a7f222db0f1978c7cb232b87c5ee create mode 100644 fuzzing/corpus/swap_token_utils/71cbf19f040b65b4874ff006e78842067297e552 create mode 100644 fuzzing/corpus/swap_token_utils/73208593ee762db437b80f3046559564d064627d create mode 100644 fuzzing/corpus/swap_token_utils/7415f282290ad6af0f66502f1daa33976d429514 create mode 100644 fuzzing/corpus/swap_token_utils/7762eabf9387fe8ec5d648cd3b1d9eb6d820caa2 create mode 100644 fuzzing/corpus/swap_token_utils/7c338ed2840d2bf55f9f5e4eed04f66c80840eb3 create mode 100644 fuzzing/corpus/swap_token_utils/875a4716c3827944717f6c87bf56c9e17831cd0f create mode 100644 fuzzing/corpus/swap_token_utils/8b13d55fe069b9d422f4f030603193fcf5fc51a6 create mode 100644 fuzzing/corpus/swap_token_utils/916d38100855cd4c699f4efd903d68588fad542c create mode 100644 fuzzing/corpus/swap_token_utils/a12e7e10dd950ad556f4ead515bcba80f4312f9a create mode 100644 fuzzing/corpus/swap_token_utils/a6420a9b9c1e560d9d63e8e54e5b96b754593c33 create mode 100644 fuzzing/corpus/swap_token_utils/a8ae2bb7852649ad806ea12b5b41a2f262d46bd0 create mode 100644 fuzzing/corpus/swap_token_utils/bd84b3e8ff99757bc5e837498c00836c854b1d4f create mode 100644 fuzzing/corpus/swap_token_utils/bf97c5fa6981016efbaa598bf12c26828317a067 create mode 100644 fuzzing/corpus/swap_token_utils/c4f87a6290aee1acfc1f26083974ce94621fca64 create mode 100644 fuzzing/corpus/swap_token_utils/ceadc8bb8cc6151373c59806b8b26d2040dd1427 create mode 100644 fuzzing/corpus/swap_token_utils/d1854cae891ec7b29161ccaf79a24b00c274bdaa create mode 100644 fuzzing/corpus/swap_token_utils/d2c635f5d293ece01c7f8a284c9cdf3fbe32dd86 create mode 100644 fuzzing/corpus/swap_token_utils/d745d73297c44a1a41646d67033933f71da2b0ad create mode 100644 fuzzing/corpus/swap_token_utils/e8ecf732ba712823810c1c595df4f5fdff24601d create mode 100644 fuzzing/corpus/swap_token_utils/eadc1149a2651a8389a03a0a40751773f7e989f0 create mode 100644 fuzzing/corpus/swap_token_utils/efe43def97eb295fe99c3753f2d740d7b36df689 create mode 100644 fuzzing/corpus/swap_token_utils/f19decfc6a41ebb9a28dcca01b5a38be747be29a create mode 100644 fuzzing/corpus/swap_token_utils/ff6e672c8f8d6408fc9f73c60cf4f06a5c4b19a0 create mode 100644 fuzzing/fuzzer_swap_token_utils.c diff --git a/fuzzing/CMakeLists.txt b/fuzzing/CMakeLists.txt index 412c51bc..cf41d602 100644 --- a/fuzzing/CMakeLists.txt +++ b/fuzzing/CMakeLists.txt @@ -89,4 +89,11 @@ add_executable(fuzz_evm_payload ../src/evm_parser.c ) target_compile_definitions(fuzz_evm_payload PRIVATE NO_BOLOS_SDK=1) -target_link_libraries(fuzz_evm_payload mock_bolos) \ No newline at end of file +target_link_libraries(fuzz_evm_payload mock_bolos) + +add_executable(fuzz_swap_token_utils + fuzzer_swap_token_utils.c + ../src/swap/swap_token_utils.c +) +target_compile_definitions(fuzz_swap_token_utils PRIVATE NO_BOLOS_SDK=1) +target_link_libraries(fuzz_swap_token_utils mock_bolos) \ No newline at end of file diff --git a/fuzzing/corpus/swap_token_utils/067d5096f219c64b53bb1c7d5e3754285b565a47 b/fuzzing/corpus/swap_token_utils/067d5096f219c64b53bb1c7d5e3754285b565a47 new file mode 100644 index 00000000..2725bca0 --- /dev/null +++ b/fuzzing/corpus/swap_token_utils/067d5096f219c64b53bb1c7d5e3754285b565a47 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fuzzing/corpus/swap_token_utils/07b7255eacbc81c051445ebe4f8c74fc8892dd3e b/fuzzing/corpus/swap_token_utils/07b7255eacbc81c051445ebe4f8c74fc8892dd3e new file mode 100644 index 00000000..7de85f86 --- /dev/null +++ b/fuzzing/corpus/swap_token_utils/07b7255eacbc81c051445ebe4f8c74fc8892dd3e @@ -0,0 +1 @@ +ñ \ No newline at end of file diff --git a/fuzzing/corpus/swap_token_utils/1c04aeb9237754d463eb7a4034186423b303e205 b/fuzzing/corpus/swap_token_utils/1c04aeb9237754d463eb7a4034186423b303e205 new file mode 100644 index 00000000..96949f7a --- /dev/null +++ b/fuzzing/corpus/swap_token_utils/1c04aeb9237754d463eb7a4034186423b303e205 @@ -0,0 +1 @@ + BkBÃBBBBBB \ No newline at end of file diff --git a/fuzzing/corpus/swap_token_utils/24a81463ef475fccda4ca89e784769d79c399dec b/fuzzing/corpus/swap_token_utils/24a81463ef475fccda4ca89e784769d79c399dec new file mode 100644 index 00000000..391f7d4a --- /dev/null +++ b/fuzzing/corpus/swap_token_utils/24a81463ef475fccda4ca89e784769d79c399dec @@ -0,0 +1,4 @@ + +ÿÿÿÿÿÿÿ + +¡ \ No newline at end of file diff --git a/fuzzing/corpus/swap_token_utils/289b7d4265cdec1610b71e09611f6103299ad4c3 b/fuzzing/corpus/swap_token_utils/289b7d4265cdec1610b71e09611f6103299ad4c3 new file mode 100644 index 0000000000000000000000000000000000000000..06b73c9906c276b4cc3f26f1ce5a188fb3c3312b GIT binary patch literal 11 ScmaDa%0Go~0t3SYhQ9z7xC7Gw literal 0 HcmV?d00001 diff --git a/fuzzing/corpus/swap_token_utils/2a49abb2c75cd695dddc04fd5a646afe742be0b2 b/fuzzing/corpus/swap_token_utils/2a49abb2c75cd695dddc04fd5a646afe742be0b2 new file mode 100644 index 0000000000000000000000000000000000000000..4c8376d6b966c6c73130ab26247b39c39d614b79 GIT binary patch literal 11 OcmZQz00Ry#E-nB7X8eZU6uP literal 0 HcmV?d00001 diff --git a/fuzzing/corpus/swap_token_utils/3b6982891297f256a47e4205c6acadbf26f47951 b/fuzzing/corpus/swap_token_utils/3b6982891297f256a47e4205c6acadbf26f47951 new file mode 100644 index 0000000000000000000000000000000000000000..f9a963579b14f782373bf6d8ba58c92719b731bf GIT binary patch literal 11 PcmZQ%U{K-u{vQMY7B>bW literal 0 HcmV?d00001 diff --git a/fuzzing/corpus/swap_token_utils/3c374c83a1ddf15530935334cc412303e95aee39 b/fuzzing/corpus/swap_token_utils/3c374c83a1ddf15530935334cc412303e95aee39 new file mode 100644 index 00000000..0a63fb60 --- /dev/null +++ b/fuzzing/corpus/swap_token_utils/3c374c83a1ddf15530935334cc412303e95aee39 @@ -0,0 +1 @@ + BBBkÃCBBBBB \ No newline at end of file diff --git a/fuzzing/corpus/swap_token_utils/3d525786d78c32240bf89a2918fbbf1c3e2c707d b/fuzzing/corpus/swap_token_utils/3d525786d78c32240bf89a2918fbbf1c3e2c707d new file mode 100644 index 0000000000000000000000000000000000000000..83c200461a7b02ec76c2535932dd6c5a4aab40e0 GIT binary patch literal 11 ScmZQzWMW`r%4c9;U;+RFiU558 literal 0 HcmV?d00001 diff --git a/fuzzing/corpus/swap_token_utils/3e96bc181314bffb3f5685bf2c8f95793b9850cc b/fuzzing/corpus/swap_token_utils/3e96bc181314bffb3f5685bf2c8f95793b9850cc new file mode 100644 index 00000000..8b37717b --- /dev/null +++ b/fuzzing/corpus/swap_token_utils/3e96bc181314bffb3f5685bf2c8f95793b9850cc @@ -0,0 +1 @@ +oñooÿÿoÿÿÿo \ No newline at end of file diff --git a/fuzzing/corpus/swap_token_utils/406caeba676b19424eccdf337c88086179997fa3 b/fuzzing/corpus/swap_token_utils/406caeba676b19424eccdf337c88086179997fa3 new file mode 100644 index 0000000000000000000000000000000000000000..746c08566e72d4a127eb50b1dbfd2741a171defa GIT binary patch literal 11 Mcmd<$V1NQ0008v>KL7v# literal 0 HcmV?d00001 diff --git a/fuzzing/corpus/swap_token_utils/4850f9760eb03d360c1a196290db81e91cf643cf b/fuzzing/corpus/swap_token_utils/4850f9760eb03d360c1a196290db81e91cf643cf new file mode 100644 index 00000000..e44dd1ba --- /dev/null +++ b/fuzzing/corpus/swap_token_utils/4850f9760eb03d360c1a196290db81e91cf643cf @@ -0,0 +1,2 @@ +AÚ’ +÷ÿÿÿÿÿÚ \ No newline at end of file diff --git a/fuzzing/corpus/swap_token_utils/4eaa9c8f68e0fbf698a98decc734f65d40b2c79d b/fuzzing/corpus/swap_token_utils/4eaa9c8f68e0fbf698a98decc734f65d40b2c79d new file mode 100644 index 0000000000000000000000000000000000000000..596ac1872ce0b76c45c835f262732b8a039264ff GIT binary patch literal 5 McmZQzU|7fn00B_|tN;K2 literal 0 HcmV?d00001 diff --git a/fuzzing/corpus/swap_token_utils/518cf50afecf443ec57b6d5d133d64f330b11c2d b/fuzzing/corpus/swap_token_utils/518cf50afecf443ec57b6d5d133d64f330b11c2d new file mode 100644 index 00000000..a4fa27c0 --- /dev/null +++ b/fuzzing/corpus/swap_token_utils/518cf50afecf443ec57b6d5d133d64f330b11c2d @@ -0,0 +1 @@ +ÓÚÓÓ ÓÓ[ÓÃ \ No newline at end of file diff --git a/fuzzing/corpus/swap_token_utils/52a12400599040087a21cf920113edf9291d5ae0 b/fuzzing/corpus/swap_token_utils/52a12400599040087a21cf920113edf9291d5ae0 new file mode 100644 index 0000000000000000000000000000000000000000..b29a1181ccfddb7d14db90a2d8c546c4148dd66b GIT binary patch literal 11 OcmaDa$^Zd>{{jFG83O+R literal 0 HcmV?d00001 diff --git a/fuzzing/corpus/swap_token_utils/5bd106a0f6dd6e3da8cfde80af949d73ddd3f43d b/fuzzing/corpus/swap_token_utils/5bd106a0f6dd6e3da8cfde80af949d73ddd3f43d new file mode 100644 index 00000000..9b345fbe --- /dev/null +++ b/fuzzing/corpus/swap_token_utils/5bd106a0f6dd6e3da8cfde80af949d73ddd3f43d @@ -0,0 +1,3 @@ + +ÿÿÿ +÷ÿÿÿÿÿ \ No newline at end of file diff --git a/fuzzing/corpus/swap_token_utils/6f83d3705871dc7a0a3a208fcf8a2802a2e0630f b/fuzzing/corpus/swap_token_utils/6f83d3705871dc7a0a3a208fcf8a2802a2e0630f new file mode 100644 index 0000000000000000000000000000000000000000..6025036811c1f777bad70789763dfcd2f81145b1 GIT binary patch literal 11 Pcmeyb%>V*|f`a(~4YmQz literal 0 HcmV?d00001 diff --git a/fuzzing/corpus/swap_token_utils/710073142c821a9164187b7f2f53cdac9611daeb b/fuzzing/corpus/swap_token_utils/710073142c821a9164187b7f2f53cdac9611daeb new file mode 100644 index 0000000000000000000000000000000000000000..36a4f32d05fab4450a77591afcd19cab8005390b GIT binary patch literal 11 Mcmc~7Wq^Ww00t2N^Z)<= literal 0 HcmV?d00001 diff --git a/fuzzing/corpus/swap_token_utils/71853c6197a6a7f222db0f1978c7cb232b87c5ee b/fuzzing/corpus/swap_token_utils/71853c6197a6a7f222db0f1978c7cb232b87c5ee new file mode 100644 index 00000000..139597f9 --- /dev/null +++ b/fuzzing/corpus/swap_token_utils/71853c6197a6a7f222db0f1978c7cb232b87c5ee @@ -0,0 +1,2 @@ + + diff --git a/fuzzing/corpus/swap_token_utils/71cbf19f040b65b4874ff006e78842067297e552 b/fuzzing/corpus/swap_token_utils/71cbf19f040b65b4874ff006e78842067297e552 new file mode 100644 index 00000000..ffe7ac04 --- /dev/null +++ b/fuzzing/corpus/swap_token_utils/71cbf19f040b65b4874ff006e78842067297e552 @@ -0,0 +1 @@ +ñoooÿÿÿÿÿo \ No newline at end of file diff --git a/fuzzing/corpus/swap_token_utils/73208593ee762db437b80f3046559564d064627d b/fuzzing/corpus/swap_token_utils/73208593ee762db437b80f3046559564d064627d new file mode 100644 index 0000000000000000000000000000000000000000..16398b12aaaad4373ccab56ae85fc8c9aa40bda2 GIT binary patch literal 11 Ncmd;LfB +#include +#include + +#include "swap/swap_token_utils.h" + +#define MAX_ASSET_LEN 16 +#define MAX_OUT_LEN 64 +#define MAX_STR_LEN 16 + +static size_t min_size(size_t a, size_t b) { + return (a < b) ? a : b; +} + +static uint64_t load_u64_be(const uint8_t *data, size_t len) { + uint64_t v = 0; + for (size_t i = 0; i < len; i++) { + v = (v << 8) | data[i]; + } + return v; +} + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + if (data == NULL || size == 0) return 0; + + size_t offset = 0; + uint8_t flags = data[offset++]; + + uint8_t decimals = (offset < size) ? data[offset++] : 0; + + size_t amount_len = min_size(8, size - offset); + uint64_t amount = load_u64_be(data + offset, amount_len); + offset += amount_len; + + uint8_t out_len_hint = (offset < size) ? data[offset++] : 0; + size_t out_len = out_len_hint % (MAX_OUT_LEN + 1); + + const char *asset = NULL; + char asset_buf[MAX_ASSET_LEN + 1]; + if ((flags & 0x1) && offset < size) { + size_t asset_len = data[offset++] % (MAX_ASSET_LEN + 1); + size_t avail = size - offset; + if (asset_len > avail) asset_len = avail; + memcpy(asset_buf, data + offset, asset_len); + asset_buf[asset_len] = '\0'; + asset = asset_buf; + offset += asset_len; + } + + char out_buf[MAX_OUT_LEN + 1]; + memset(out_buf, 0, sizeof(out_buf)); + (void)print_token_amount(amount, asset, decimals, out_buf, out_len); + + uint8_t str_buf[MAX_STR_LEN]; + size_t str_len = min_size(MAX_STR_LEN, size - offset); + memset(str_buf, 0, sizeof(str_buf)); + if (str_len > 0) { + memcpy(str_buf, data + offset, str_len); + } + + uint64_t parsed = 0; + size_t len_hint = data[0] % (MAX_STR_LEN + 1); + (void)swap_str_to_u64(str_buf, len_hint, &parsed); + (void)swap_str_to_u64(str_buf, MAX_STR_LEN, &parsed); + + return 0; +} \ No newline at end of file diff --git a/fuzzing/run_fuzzing.sh b/fuzzing/run_fuzzing.sh index ea55c275..b59d4328 100755 --- a/fuzzing/run_fuzzing.sh +++ b/fuzzing/run_fuzzing.sh @@ -61,7 +61,8 @@ setup_directories() { # Create corpus directories for each fuzzer mkdir -p "$CORPUS_DIR/proto_varlen_parser" mkdir -p "$CORPUS_DIR/evm_payload" - + mkdir -p "$CORPUS_DIR/swap_token_utils" + print_status "Directories created" } @@ -94,6 +95,9 @@ generate_corpus() { # ERC20 transfer selector only printf "\xA9\x05\x9C\xBB" > "$CORPUS_DIR/evm_payload/selector.bin" # Full calldata: selector + 32-byte address word + 32-byte amount word + # swap_token_utils seeds + printf "\x01\x08\x00\x00\x00\x00\x00\x00\x00\x01\x20\x04HBAR" > "$CORPUS_DIR/swap_token_utils/hbar_valid.bin" + printf "\x00\x00\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\x10" > "$CORPUS_DIR/swap_token_utils/max_valid.bin" ( printf "\xA9\x05\x9C\xBB" # address word: 12 zero pad + 20 0x11 bytes @@ -156,7 +160,7 @@ run_fuzzer() { run_all_fuzzers() { print_status "Starting fuzzing campaign..." - local fuzzers=("proto_varlen_parser" "evm_payload") + local fuzzers=("proto_varlen_parser" "evm_payload" "swap_token_utils") for fuzzer in "${fuzzers[@]}"; do run_fuzzer "$fuzzer" "$FUZZ_TIME" From 1c2a34ab8d4f0fb4dfacb211d4110308b4f082f7 Mon Sep 17 00:00:00 2001 From: Jakub Retajczyk Date: Thu, 5 Feb 2026 13:23:34 +0100 Subject: [PATCH 2/2] Fuzz test swap_token_utils --- .../067d5096f219c64b53bb1c7d5e3754285b565a47 | 1 - .../07b7255eacbc81c051445ebe4f8c74fc8892dd3e | 1 - .../1c04aeb9237754d463eb7a4034186423b303e205 | 1 - .../24a81463ef475fccda4ca89e784769d79c399dec | 4 ---- .../289b7d4265cdec1610b71e09611f6103299ad4c3 | Bin 11 -> 0 bytes .../2a49abb2c75cd695dddc04fd5a646afe742be0b2 | Bin 11 -> 0 bytes .../2ab034c96fe2c20365ca865fe32f7fbeb19988ae | Bin 11 -> 0 bytes .../2e1d718ccabbcef782cdcde253b6fd1921e2841e | Bin 11 -> 0 bytes .../3b6982891297f256a47e4205c6acadbf26f47951 | Bin 11 -> 0 bytes .../3c374c83a1ddf15530935334cc412303e95aee39 | 1 - .../3d525786d78c32240bf89a2918fbbf1c3e2c707d | Bin 11 -> 0 bytes .../3e96bc181314bffb3f5685bf2c8f95793b9850cc | 1 - .../406caeba676b19424eccdf337c88086179997fa3 | Bin 11 -> 0 bytes .../4850f9760eb03d360c1a196290db81e91cf643cf | 2 -- .../4eaa9c8f68e0fbf698a98decc734f65d40b2c79d | Bin 5 -> 0 bytes .../518cf50afecf443ec57b6d5d133d64f330b11c2d | 1 - .../52a12400599040087a21cf920113edf9291d5ae0 | Bin 11 -> 0 bytes .../5bd106a0f6dd6e3da8cfde80af949d73ddd3f43d | 3 --- .../6f83d3705871dc7a0a3a208fcf8a2802a2e0630f | Bin 11 -> 0 bytes .../710073142c821a9164187b7f2f53cdac9611daeb | Bin 11 -> 0 bytes .../71853c6197a6a7f222db0f1978c7cb232b87c5ee | 2 -- .../71cbf19f040b65b4874ff006e78842067297e552 | 1 - .../73208593ee762db437b80f3046559564d064627d | Bin 11 -> 0 bytes .../7415f282290ad6af0f66502f1daa33976d429514 | Bin 11 -> 0 bytes .../7762eabf9387fe8ec5d648cd3b1d9eb6d820caa2 | 1 - .../7c338ed2840d2bf55f9f5e4eed04f66c80840eb3 | 3 --- .../875a4716c3827944717f6c87bf56c9e17831cd0f | Bin 11 -> 0 bytes .../8b13d55fe069b9d422f4f030603193fcf5fc51a6 | Bin 11 -> 0 bytes .../916d38100855cd4c699f4efd903d68588fad542c | Bin 11 -> 0 bytes .../a12e7e10dd950ad556f4ead515bcba80f4312f9a | 1 - .../a6420a9b9c1e560d9d63e8e54e5b96b754593c33 | Bin 11 -> 0 bytes .../a8ae2bb7852649ad806ea12b5b41a2f262d46bd0 | 3 --- .../bd84b3e8ff99757bc5e837498c00836c854b1d4f | Bin 11 -> 0 bytes .../bf97c5fa6981016efbaa598bf12c26828317a067 | 1 - .../c4f87a6290aee1acfc1f26083974ce94621fca64 | 1 - .../ceadc8bb8cc6151373c59806b8b26d2040dd1427 | Bin 28 -> 0 bytes .../d1854cae891ec7b29161ccaf79a24b00c274bdaa | 1 - .../d2c635f5d293ece01c7f8a284c9cdf3fbe32dd86 | Bin 11 -> 0 bytes .../d745d73297c44a1a41646d67033933f71da2b0ad | 1 - .../e8ecf732ba712823810c1c595df4f5fdff24601d | Bin 13 -> 0 bytes .../eadc1149a2651a8389a03a0a40751773f7e989f0 | Bin 11 -> 0 bytes .../efe43def97eb295fe99c3753f2d740d7b36df689 | 1 - .../f19decfc6a41ebb9a28dcca01b5a38be747be29a | 2 -- .../ff6e672c8f8d6408fc9f73c60cf4f06a5c4b19a0 | Bin 11 -> 0 bytes 44 files changed, 33 deletions(-) delete mode 100644 fuzzing/corpus/swap_token_utils/067d5096f219c64b53bb1c7d5e3754285b565a47 delete mode 100644 fuzzing/corpus/swap_token_utils/07b7255eacbc81c051445ebe4f8c74fc8892dd3e delete mode 100644 fuzzing/corpus/swap_token_utils/1c04aeb9237754d463eb7a4034186423b303e205 delete mode 100644 fuzzing/corpus/swap_token_utils/24a81463ef475fccda4ca89e784769d79c399dec delete mode 100644 fuzzing/corpus/swap_token_utils/289b7d4265cdec1610b71e09611f6103299ad4c3 delete mode 100644 fuzzing/corpus/swap_token_utils/2a49abb2c75cd695dddc04fd5a646afe742be0b2 delete mode 100644 fuzzing/corpus/swap_token_utils/2ab034c96fe2c20365ca865fe32f7fbeb19988ae delete mode 100644 fuzzing/corpus/swap_token_utils/2e1d718ccabbcef782cdcde253b6fd1921e2841e delete mode 100644 fuzzing/corpus/swap_token_utils/3b6982891297f256a47e4205c6acadbf26f47951 delete mode 100644 fuzzing/corpus/swap_token_utils/3c374c83a1ddf15530935334cc412303e95aee39 delete mode 100644 fuzzing/corpus/swap_token_utils/3d525786d78c32240bf89a2918fbbf1c3e2c707d delete mode 100644 fuzzing/corpus/swap_token_utils/3e96bc181314bffb3f5685bf2c8f95793b9850cc delete mode 100644 fuzzing/corpus/swap_token_utils/406caeba676b19424eccdf337c88086179997fa3 delete mode 100644 fuzzing/corpus/swap_token_utils/4850f9760eb03d360c1a196290db81e91cf643cf delete mode 100644 fuzzing/corpus/swap_token_utils/4eaa9c8f68e0fbf698a98decc734f65d40b2c79d delete mode 100644 fuzzing/corpus/swap_token_utils/518cf50afecf443ec57b6d5d133d64f330b11c2d delete mode 100644 fuzzing/corpus/swap_token_utils/52a12400599040087a21cf920113edf9291d5ae0 delete mode 100644 fuzzing/corpus/swap_token_utils/5bd106a0f6dd6e3da8cfde80af949d73ddd3f43d delete mode 100644 fuzzing/corpus/swap_token_utils/6f83d3705871dc7a0a3a208fcf8a2802a2e0630f delete mode 100644 fuzzing/corpus/swap_token_utils/710073142c821a9164187b7f2f53cdac9611daeb delete mode 100644 fuzzing/corpus/swap_token_utils/71853c6197a6a7f222db0f1978c7cb232b87c5ee delete mode 100644 fuzzing/corpus/swap_token_utils/71cbf19f040b65b4874ff006e78842067297e552 delete mode 100644 fuzzing/corpus/swap_token_utils/73208593ee762db437b80f3046559564d064627d delete mode 100644 fuzzing/corpus/swap_token_utils/7415f282290ad6af0f66502f1daa33976d429514 delete mode 100644 fuzzing/corpus/swap_token_utils/7762eabf9387fe8ec5d648cd3b1d9eb6d820caa2 delete mode 100644 fuzzing/corpus/swap_token_utils/7c338ed2840d2bf55f9f5e4eed04f66c80840eb3 delete mode 100644 fuzzing/corpus/swap_token_utils/875a4716c3827944717f6c87bf56c9e17831cd0f delete mode 100644 fuzzing/corpus/swap_token_utils/8b13d55fe069b9d422f4f030603193fcf5fc51a6 delete mode 100644 fuzzing/corpus/swap_token_utils/916d38100855cd4c699f4efd903d68588fad542c delete mode 100644 fuzzing/corpus/swap_token_utils/a12e7e10dd950ad556f4ead515bcba80f4312f9a delete mode 100644 fuzzing/corpus/swap_token_utils/a6420a9b9c1e560d9d63e8e54e5b96b754593c33 delete mode 100644 fuzzing/corpus/swap_token_utils/a8ae2bb7852649ad806ea12b5b41a2f262d46bd0 delete mode 100644 fuzzing/corpus/swap_token_utils/bd84b3e8ff99757bc5e837498c00836c854b1d4f delete mode 100644 fuzzing/corpus/swap_token_utils/bf97c5fa6981016efbaa598bf12c26828317a067 delete mode 100644 fuzzing/corpus/swap_token_utils/c4f87a6290aee1acfc1f26083974ce94621fca64 delete mode 100644 fuzzing/corpus/swap_token_utils/ceadc8bb8cc6151373c59806b8b26d2040dd1427 delete mode 100644 fuzzing/corpus/swap_token_utils/d1854cae891ec7b29161ccaf79a24b00c274bdaa delete mode 100644 fuzzing/corpus/swap_token_utils/d2c635f5d293ece01c7f8a284c9cdf3fbe32dd86 delete mode 100644 fuzzing/corpus/swap_token_utils/d745d73297c44a1a41646d67033933f71da2b0ad delete mode 100644 fuzzing/corpus/swap_token_utils/e8ecf732ba712823810c1c595df4f5fdff24601d delete mode 100644 fuzzing/corpus/swap_token_utils/eadc1149a2651a8389a03a0a40751773f7e989f0 delete mode 100644 fuzzing/corpus/swap_token_utils/efe43def97eb295fe99c3753f2d740d7b36df689 delete mode 100644 fuzzing/corpus/swap_token_utils/f19decfc6a41ebb9a28dcca01b5a38be747be29a delete mode 100644 fuzzing/corpus/swap_token_utils/ff6e672c8f8d6408fc9f73c60cf4f06a5c4b19a0 diff --git a/fuzzing/corpus/swap_token_utils/067d5096f219c64b53bb1c7d5e3754285b565a47 b/fuzzing/corpus/swap_token_utils/067d5096f219c64b53bb1c7d5e3754285b565a47 deleted file mode 100644 index 2725bca0..00000000 --- a/fuzzing/corpus/swap_token_utils/067d5096f219c64b53bb1c7d5e3754285b565a47 +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/fuzzing/corpus/swap_token_utils/07b7255eacbc81c051445ebe4f8c74fc8892dd3e b/fuzzing/corpus/swap_token_utils/07b7255eacbc81c051445ebe4f8c74fc8892dd3e deleted file mode 100644 index 7de85f86..00000000 --- a/fuzzing/corpus/swap_token_utils/07b7255eacbc81c051445ebe4f8c74fc8892dd3e +++ /dev/null @@ -1 +0,0 @@ -ñ \ No newline at end of file diff --git a/fuzzing/corpus/swap_token_utils/1c04aeb9237754d463eb7a4034186423b303e205 b/fuzzing/corpus/swap_token_utils/1c04aeb9237754d463eb7a4034186423b303e205 deleted file mode 100644 index 96949f7a..00000000 --- a/fuzzing/corpus/swap_token_utils/1c04aeb9237754d463eb7a4034186423b303e205 +++ /dev/null @@ -1 +0,0 @@ - BkBÃBBBBBB \ No newline at end of file diff --git a/fuzzing/corpus/swap_token_utils/24a81463ef475fccda4ca89e784769d79c399dec b/fuzzing/corpus/swap_token_utils/24a81463ef475fccda4ca89e784769d79c399dec deleted file mode 100644 index 391f7d4a..00000000 --- a/fuzzing/corpus/swap_token_utils/24a81463ef475fccda4ca89e784769d79c399dec +++ /dev/null @@ -1,4 +0,0 @@ - -ÿÿÿÿÿÿÿ - -¡ \ No newline at end of file diff --git a/fuzzing/corpus/swap_token_utils/289b7d4265cdec1610b71e09611f6103299ad4c3 b/fuzzing/corpus/swap_token_utils/289b7d4265cdec1610b71e09611f6103299ad4c3 deleted file mode 100644 index 06b73c9906c276b4cc3f26f1ce5a188fb3c3312b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11 ScmaDa%0Go~0t3SYhQ9z7xC7Gw diff --git a/fuzzing/corpus/swap_token_utils/2a49abb2c75cd695dddc04fd5a646afe742be0b2 b/fuzzing/corpus/swap_token_utils/2a49abb2c75cd695dddc04fd5a646afe742be0b2 deleted file mode 100644 index 4c8376d6b966c6c73130ab26247b39c39d614b79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11 OcmZQz00Ry#E-nB7X8eZU6uP diff --git a/fuzzing/corpus/swap_token_utils/3b6982891297f256a47e4205c6acadbf26f47951 b/fuzzing/corpus/swap_token_utils/3b6982891297f256a47e4205c6acadbf26f47951 deleted file mode 100644 index f9a963579b14f782373bf6d8ba58c92719b731bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11 PcmZQ%U{K-u{vQMY7B>bW diff --git a/fuzzing/corpus/swap_token_utils/3c374c83a1ddf15530935334cc412303e95aee39 b/fuzzing/corpus/swap_token_utils/3c374c83a1ddf15530935334cc412303e95aee39 deleted file mode 100644 index 0a63fb60..00000000 --- a/fuzzing/corpus/swap_token_utils/3c374c83a1ddf15530935334cc412303e95aee39 +++ /dev/null @@ -1 +0,0 @@ - BBBkÃCBBBBB \ No newline at end of file diff --git a/fuzzing/corpus/swap_token_utils/3d525786d78c32240bf89a2918fbbf1c3e2c707d b/fuzzing/corpus/swap_token_utils/3d525786d78c32240bf89a2918fbbf1c3e2c707d deleted file mode 100644 index 83c200461a7b02ec76c2535932dd6c5a4aab40e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11 ScmZQzWMW`r%4c9;U;+RFiU558 diff --git a/fuzzing/corpus/swap_token_utils/3e96bc181314bffb3f5685bf2c8f95793b9850cc b/fuzzing/corpus/swap_token_utils/3e96bc181314bffb3f5685bf2c8f95793b9850cc deleted file mode 100644 index 8b37717b..00000000 --- a/fuzzing/corpus/swap_token_utils/3e96bc181314bffb3f5685bf2c8f95793b9850cc +++ /dev/null @@ -1 +0,0 @@ -oñooÿÿoÿÿÿo \ No newline at end of file diff --git a/fuzzing/corpus/swap_token_utils/406caeba676b19424eccdf337c88086179997fa3 b/fuzzing/corpus/swap_token_utils/406caeba676b19424eccdf337c88086179997fa3 deleted file mode 100644 index 746c08566e72d4a127eb50b1dbfd2741a171defa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11 Mcmd<$V1NQ0008v>KL7v# diff --git a/fuzzing/corpus/swap_token_utils/4850f9760eb03d360c1a196290db81e91cf643cf b/fuzzing/corpus/swap_token_utils/4850f9760eb03d360c1a196290db81e91cf643cf deleted file mode 100644 index e44dd1ba..00000000 --- a/fuzzing/corpus/swap_token_utils/4850f9760eb03d360c1a196290db81e91cf643cf +++ /dev/null @@ -1,2 +0,0 @@ -AÚ’ -÷ÿÿÿÿÿÚ \ No newline at end of file diff --git a/fuzzing/corpus/swap_token_utils/4eaa9c8f68e0fbf698a98decc734f65d40b2c79d b/fuzzing/corpus/swap_token_utils/4eaa9c8f68e0fbf698a98decc734f65d40b2c79d deleted file mode 100644 index 596ac1872ce0b76c45c835f262732b8a039264ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5 McmZQzU|7fn00B_|tN;K2 diff --git a/fuzzing/corpus/swap_token_utils/518cf50afecf443ec57b6d5d133d64f330b11c2d b/fuzzing/corpus/swap_token_utils/518cf50afecf443ec57b6d5d133d64f330b11c2d deleted file mode 100644 index a4fa27c0..00000000 --- a/fuzzing/corpus/swap_token_utils/518cf50afecf443ec57b6d5d133d64f330b11c2d +++ /dev/null @@ -1 +0,0 @@ -ÓÚÓÓ ÓÓ[ÓÃ \ No newline at end of file diff --git a/fuzzing/corpus/swap_token_utils/52a12400599040087a21cf920113edf9291d5ae0 b/fuzzing/corpus/swap_token_utils/52a12400599040087a21cf920113edf9291d5ae0 deleted file mode 100644 index b29a1181ccfddb7d14db90a2d8c546c4148dd66b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11 OcmaDa$^Zd>{{jFG83O+R diff --git a/fuzzing/corpus/swap_token_utils/5bd106a0f6dd6e3da8cfde80af949d73ddd3f43d b/fuzzing/corpus/swap_token_utils/5bd106a0f6dd6e3da8cfde80af949d73ddd3f43d deleted file mode 100644 index 9b345fbe..00000000 --- a/fuzzing/corpus/swap_token_utils/5bd106a0f6dd6e3da8cfde80af949d73ddd3f43d +++ /dev/null @@ -1,3 +0,0 @@ - -ÿÿÿ -÷ÿÿÿÿÿ \ No newline at end of file diff --git a/fuzzing/corpus/swap_token_utils/6f83d3705871dc7a0a3a208fcf8a2802a2e0630f b/fuzzing/corpus/swap_token_utils/6f83d3705871dc7a0a3a208fcf8a2802a2e0630f deleted file mode 100644 index 6025036811c1f777bad70789763dfcd2f81145b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11 Pcmeyb%>V*|f`a(~4YmQz diff --git a/fuzzing/corpus/swap_token_utils/710073142c821a9164187b7f2f53cdac9611daeb b/fuzzing/corpus/swap_token_utils/710073142c821a9164187b7f2f53cdac9611daeb deleted file mode 100644 index 36a4f32d05fab4450a77591afcd19cab8005390b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11 Mcmc~7Wq^Ww00t2N^Z)<= diff --git a/fuzzing/corpus/swap_token_utils/71853c6197a6a7f222db0f1978c7cb232b87c5ee b/fuzzing/corpus/swap_token_utils/71853c6197a6a7f222db0f1978c7cb232b87c5ee deleted file mode 100644 index 139597f9..00000000 --- a/fuzzing/corpus/swap_token_utils/71853c6197a6a7f222db0f1978c7cb232b87c5ee +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/fuzzing/corpus/swap_token_utils/71cbf19f040b65b4874ff006e78842067297e552 b/fuzzing/corpus/swap_token_utils/71cbf19f040b65b4874ff006e78842067297e552 deleted file mode 100644 index ffe7ac04..00000000 --- a/fuzzing/corpus/swap_token_utils/71cbf19f040b65b4874ff006e78842067297e552 +++ /dev/null @@ -1 +0,0 @@ -ñoooÿÿÿÿÿo \ No newline at end of file diff --git a/fuzzing/corpus/swap_token_utils/73208593ee762db437b80f3046559564d064627d b/fuzzing/corpus/swap_token_utils/73208593ee762db437b80f3046559564d064627d deleted file mode 100644 index 16398b12aaaad4373ccab56ae85fc8c9aa40bda2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11 Ncmd;LfB