Skip to content

Commit

Permalink
core/chains/evm/assets: FuzzWei skip large exponents (#11948)
Browse files Browse the repository at this point in the history
  • Loading branch information
jmank88 authored Feb 6, 2024
1 parent 9ddc014 commit 4cb9669
Showing 1 changed file with 17 additions and 0 deletions.
17 changes: 17 additions & 0 deletions core/chains/evm/assets/wei_test.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package assets

import (
"strconv"
"strings"
"testing"

"github.com/stretchr/testify/assert"
Expand Down Expand Up @@ -74,6 +76,9 @@ func FuzzWei(f *testing.F) {
if len(v) > 1_000 {
t.Skip()
}
if tryParseExp(v) > 4888888 {
t.Skip()
}
var w Wei
err := w.UnmarshalText([]byte(v))
if err != nil {
Expand All @@ -89,3 +94,15 @@ func FuzzWei(f *testing.F) {
require.Equal(t, w, w2, "unequal values after marshal/unmarshal")
})
}

func tryParseExp(v string) int64 {
i := strings.IndexAny(v, "Ee")
if i == -1 {
return -1
}
e, err := strconv.ParseInt(v[i+1:], 10, 32)
if err != nil {
return -1
}
return e
}

0 comments on commit 4cb9669

Please sign in to comment.