From c74ba3b7e4aa57d7c7542e9169975503f77af7b2 Mon Sep 17 00:00:00 2001 From: HuangYi Date: Mon, 23 Oct 2023 15:45:15 +0800 Subject: [PATCH] fix error handling --- types/chain_id.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/types/chain_id.go b/types/chain_id.go index aa1be8bcab93..6841f764b8c2 100644 --- a/types/chain_id.go +++ b/types/chain_id.go @@ -14,11 +14,14 @@ const ChainIDFieldName = "chain_id" // TODO consider [encoding/json/v2](https://github.com/golang/go/discussions/63397) when it's ready. func ParseChainIDFromGenesis(reader io.Reader) (string, error) { decoder := jstream.NewDecoder(reader, 1).EmitKV() - var chain_id string + var ( + chain_id string + ok bool + ) err := decoder.Decode(func(mv *jstream.MetaValue) bool { if kv, ok := mv.Value.(jstream.KV); ok { if kv.Key == ChainIDFieldName { - chain_id, _ = kv.Value.(string) + chain_id, ok = kv.Value.(string) return false } } @@ -27,6 +30,9 @@ func ParseChainIDFromGenesis(reader io.Reader) (string, error) { if len(chain_id) > 0 { return chain_id, nil } + if !ok { + return "", errors.New("chain-id is not a string") + } if err == nil { return "", errors.New("chain-id not found in genesis file") }