rpc: remove silly use of ReadVarint in subscription ID generator (#21391)
Found by @protolambda
This commit is contained in:
parent
a00dc5095b
commit
9c2ac6fbd5
|
@ -17,7 +17,6 @@
|
|||
package rpc
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"container/list"
|
||||
"context"
|
||||
crand "crypto/rand"
|
||||
|
@ -51,10 +50,14 @@ func NewID() ID {
|
|||
|
||||
// randomIDGenerator returns a function generates a random IDs.
|
||||
func randomIDGenerator() func() ID {
|
||||
seed, err := binary.ReadVarint(bufio.NewReader(crand.Reader))
|
||||
if err != nil {
|
||||
var buf = make([]byte, 8)
|
||||
var seed int64
|
||||
if _, err := crand.Read(buf); err == nil {
|
||||
seed = int64(binary.BigEndian.Uint64(buf))
|
||||
} else {
|
||||
seed = int64(time.Now().Nanosecond())
|
||||
}
|
||||
|
||||
var (
|
||||
mu sync.Mutex
|
||||
rng = rand.New(rand.NewSource(seed))
|
||||
|
|
Loading…
Reference in New Issue