Skip to content

Instantly share code, notes, and snippets.

@namiloh

namiloh/code.md Secret

Last active September 2, 2023 07:32
Show Gist options
  • Save namiloh/edb596b92c3c433978f102c16c110ad1 to your computer and use it in GitHub Desktop.
Save namiloh/edb596b92c3c433978f102c16c110ad1 to your computer and use it in GitHub Desktop.
238 func (rng *rngSource) Uint64() uint64 {
239         rng.tap--
240         if rng.tap < 0 {
241                 rng.tap += rngLen
242         }
243
244         rng.feed--
245         if rng.feed < 0 {
246                 rng.feed += rngLen
247         }
248
249         x := rng.vec[rng.feed] + rng.vec[rng.tap] // <-- crash on this line
250         rng.vec[rng.feed] = x
251         return uint64(x)
252 }
253
go version go1.20.4 linux/amd64
panic: runtime error: index out of range [-1]

goroutine 13 [running]:
math/rand.(*rngSource).Uint64(...)
        /usr/local/go/src/math/rand/rng.go:249
math/rand.(*rngSource).Int63(...)
        /usr/local/go/src/math/rand/rng.go:234
math/rand.read({0xc003e553b0, 0x30, 0x20?}, {0xf207e8?, 0xc0000f2a00?}, 0xc00009fd00, 0xc00009fd08)
        /usr/local/go/src/math/rand/rand.go:285 +0x176
math/rand.(*Rand).Read(0xc003e553b0?, {0xc003e553b0?, 0xc000a19570?, 0x45d3b2?})
        /usr/local/go/src/math/rand/rand.go:275 +0x65
io.ReadAtLeast({0xf1e000, 0xc00009fce0}, {0xc003e553b0, 0x30, 0x30}, 0x30)
        /usr/local/go/src/io/io.go:332 +0x9a
io.ReadFull(...)
        /usr/local/go/src/io/io.go:351
crypto/rand.Int({0xf1e000, 0xc00009fce0}, 0xc00047f140)
        /usr/local/go/src/crypto/rand/util.go:85 +0x1f2
github.com/holiman/goevmlab/fuzzing.NewFieldElement()
        /home/martin/workspace/goevmlab/fuzzing/bls12381.go:213 +0x32
github.com/holiman/goevmlab/fuzzing.NewPairing()
        /home/martin/workspace/goevmlab/fuzzing/bls12381.go:194 +0x1b1
github.com/holiman/goevmlab/fuzzing.RandCallBLS()
        /home/martin/workspace/goevmlab/fuzzing/bls12381.go:77 +0x115
github.com/holiman/goevmlab/fuzzing.fillBls(0xc002fcc300, {0x8?, 0x0?})
        /home/martin/workspace/goevmlab/fuzzing/bls12381.go:53 +0x5d
github.com/holiman/goevmlab/fuzzing.Factory.func1()
        /home/martin/workspace/goevmlab/fuzzing/factories.go:35 +0x50
main.startFuzzer.func1()
        /home/martin/workspace/goevmlab/cmd/generic-fuzzer/main.go:101 +0x48
github.com/holiman/goevmlab/common.testFnFromGenerator.func1(0xc1132?, 0x1?)
        /home/martin/workspace/goevmlab/common/utils.go:348 +0x63
github.com/holiman/goevmlab/common.(*testMeta).startTestFactories.func1(0x0?)
        /home/martin/workspace/goevmlab/common/utils.go:553 +0x122
created by github.com/holiman/goevmlab/common.(*testMeta).startTestFactories
        /home/martin/workspace/goevmlab/common/utils.go:563 +0xdc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment