HEX
Server: LiteSpeed
System: Linux br-asc-web1845.main-hosting.eu 5.14.0-611.42.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Mar 24 05:30:20 EDT 2026 x86_64
User: u790421558 (790421558)
PHP: 8.2.30
Disabled: system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //opt/go/pkg/mod/github.com/aws/aws-sdk-go@v1.50.8/service/cloudfront/sign/randomreader.go
package sign

import (
	"bytes"
	"encoding/binary"
	"math/rand"
)

// A randomReader wraps a math/rand.Rand within an reader so that it can used
// as a predictable testing replacement for crypto/rand.Reader
type randomReader struct {
	b *bytes.Buffer
	r *rand.Rand
}

// newRandomReader returns a new instance of the random reader
func newRandomReader(r *rand.Rand) *randomReader {
	return &randomReader{b: &bytes.Buffer{}, r: r}
}

// Read will read random bytes from up to the length of b.
func (m *randomReader) Read(b []byte) (int, error) {
	for i := 0; i < len(b); {
		binary.Write(m.b, binary.LittleEndian, m.r.Int63())
		n, _ := m.b.Read(b[i:])
		i += n
	}

	return len(b), nil
}