[Pkg-privacy-commits] [obfs4proxy] 69/151: Use io.ReadFull in places where it is appropriate.
Ximin Luo
infinity0 at moszumanska.debian.org
Sat Aug 22 12:59:40 UTC 2015
This is an automated email from the git hooks/post-receive script.
infinity0 pushed a commit to branch master
in repository obfs4proxy.
commit b579f6f4d4390997573af7d05bf83dc16d533479
Author: Yawning Angel <yawning at schwanenlied.me>
Date: Mon May 26 04:43:46 2014 +0000
Use io.ReadFull in places where it is appropriate.
---
csrand/csrand.go | 9 +++------
framing/framing.go | 11 ++---------
2 files changed, 5 insertions(+), 15 deletions(-)
diff --git a/csrand/csrand.go b/csrand/csrand.go
index 5a86da0..721fb1e 100644
--- a/csrand/csrand.go
+++ b/csrand/csrand.go
@@ -37,6 +37,7 @@ import (
cryptRand "crypto/rand"
"encoding/binary"
"fmt"
+ "io"
"math/rand"
)
@@ -44,7 +45,7 @@ var (
csRandSourceInstance csRandSource
// CsRand is a math/rand instance backed by crypto/rand CSPRNG.
- CsRand = rand.New(csRandSourceInstance)
+ CsRand = rand.New(csRandSourceInstance)
)
type csRandSource struct {
@@ -85,13 +86,9 @@ func IntRange(min, max int) int {
// Bytes fills the slice with random data.
func Bytes(buf []byte) error {
- n, err := cryptRand.Read(buf)
+ _, err := io.ReadFull(cryptRand.Reader, buf)
if err != nil {
- // Yes, the go idiom is to check the length, but we panic() when it
- // does not match because the system is screwed at that point.
return err
- } else if n != len(buf) {
- panic(fmt.Sprintf("Bytes: truncated rand.Read (%d, %d)", n, len(buf)))
}
return nil
diff --git a/framing/framing.go b/framing/framing.go
index b51a7af..66eeff5 100644
--- a/framing/framing.go
+++ b/framing/framing.go
@@ -240,12 +240,9 @@ func (decoder *Decoder) Decode(data []byte, frames *bytes.Buffer) (int, error) {
// Remove the length field from the buffer.
var obfsLen [lengthLength]byte
- n, err := frames.Read(obfsLen[:])
+ _, err := io.ReadFull(frames, obfsLen[:])
if err != nil {
return 0, err
- } else if n != lengthLength {
- // Should *NEVER* happen, since at least 2 bytes exist.
- panic(fmt.Sprintf("BUG: Failed to read obfuscated length: %d", n))
}
// Derive the nonce the peer used.
@@ -284,13 +281,9 @@ func (decoder *Decoder) Decode(data []byte, frames *bytes.Buffer) (int, error) {
// Unseal the frame.
var box [maxFrameLength]byte
- n, err := frames.Read(box[:decoder.nextLength])
+ n, err := io.ReadFull(frames, box[:decoder.nextLength])
if err != nil {
return 0, err
- } else if n != int(decoder.nextLength) {
- // Should *NEVER* happen, since the length is checked.
- panic(fmt.Sprintf("BUG: Failed to read secretbox, got %d, should have %d",
- n, decoder.nextLength))
}
out, ok := secretbox.Open(data[:0], box[:n], &decoder.nextNonce, &decoder.key)
if !ok || decoder.nextLengthInvalid {
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-privacy/packages/obfs4proxy.git
More information about the Pkg-privacy-commits
mailing list