github.com/cosmos/cosmos-sdk@v0.50.10/fuzz/oss-fuzz-build.sh (about) 1 #!/bin/bash 2 3 set -euo pipefail 4 5 export FUZZ_ROOT="github.com/cosmos/cosmos-sdk" 6 7 build_go_fuzzer() { 8 local function="$1" 9 local fuzzer="$2" 10 11 go run github.com/orijtech/otils/corpus2ossfuzz@latest -o "$OUT"/"$fuzzer"_seed_corpus.zip -corpus fuzz/tests/testdata/fuzz/"$function" 12 compile_native_go_fuzzer "$FUZZ_ROOT"/fuzz/tests "$function" "$fuzzer" 13 } 14 15 ( 16 cd math && \ 17 go get github.com/AdamKorcz/go-118-fuzz-build/testing && \ 18 compile_native_go_fuzzer cosmossdk.io/math FuzzLegacyNewDecFromStr fuzz_math_legacy_new_dec_from_str 19 ) 20 21 go get github.com/AdamKorcz/go-118-fuzz-build/testing 22 23 # TODO: fails to build with 24 # main.413864645.go:12:2: found packages query (collections_pagination.go) and query_test (fuzz_test.go_fuzz.go) in /src/cosmos-sdk/types/query 25 # because of the separate query_test package. 26 # compile_native_go_fuzzer "$FUZZ_ROOT"/types/query FuzzPagination fuzz_types_query_pagination 27 compile_native_go_fuzzer "$FUZZ_ROOT"/types FuzzCoinUnmarshalJSON fuzz_types_coin_unmarshal_json 28 29 build_go_fuzzer FuzzCryptoHDDerivePrivateKeyForPath fuzz_crypto_hd_deriveprivatekeyforpath 30 build_go_fuzzer FuzzCryptoHDNewParamsFromPath fuzz_crypto_hd_newparamsfrompath 31 32 build_go_fuzzer FuzzCryptoTypesCompactbitarrayMarshalUnmarshal fuzz_crypto_types_compactbitarray_marshalunmarshal 33 34 build_go_fuzzer FuzzTendermintAminoDecodeTime fuzz_tendermint_amino_decodetime 35 36 build_go_fuzzer FuzzTypesParseCoin fuzz_types_parsecoin 37 build_go_fuzzer FuzzTypesParseDecCoin fuzz_types_parsedeccoin 38 build_go_fuzzer FuzzTypesParseTimeBytes fuzz_types_parsetimebytes 39 build_go_fuzzer FuzzTypesVerifyAddressFormat fuzz_types_verifyaddressformat 40 build_go_fuzzer FuzzTypesDecSetString fuzz_types_dec_setstring 41 42 build_go_fuzzer FuzzUnknownProto fuzz_unknownproto 43 44 build_go_fuzzer FuzzXBankTypesAddressFromBalancesStore fuzz_x_bank_types_addressfrombalancesstore