diff --git a/cli/vm/cli.go b/cli/vm/cli.go index 1a71dcfe3..6c68ae988 100644 --- a/cli/vm/cli.go +++ b/cli/vm/cli.go @@ -10,6 +10,7 @@ import ( "errors" "fmt" "io" + "math" "math/big" "os" "strconv" @@ -1029,6 +1030,9 @@ func getDumpArgs(c *cli.Context) (int32, []byte, error) { if err != nil { return 0, nil, fmt.Errorf("failed to parse contract hash, address or ID: %w", err) } + if i > math.MaxInt32 { + return 0, nil, fmt.Errorf("contract ID exceeds max int32 value") + } id = int32(i) } else { cs, err := ic.GetContract(h)