mirror of
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake.git
synced 2025-10-13 20:11:19 -04:00
Simplified limitedReader by reading one extra byte
This commit is contained in:
parent
0842dad38e
commit
254e6b9a3d
2 changed files with 6 additions and 20 deletions
|
@ -67,18 +67,11 @@ func NewBrokerChannel(broker string, front string, transport http.RoundTripper)
|
||||||
}
|
}
|
||||||
|
|
||||||
func limitedRead(r io.Reader, limit int64) ([]byte, error) {
|
func limitedRead(r io.Reader, limit int64) ([]byte, error) {
|
||||||
p, err := ioutil.ReadAll(&io.LimitedReader{r, limit})
|
p, err := ioutil.ReadAll(&io.LimitedReader{r, limit + 1})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return p, err
|
return p, err
|
||||||
}
|
} else if int64(len(p)) == limit+1 {
|
||||||
|
return p[0:limit], io.ErrUnexpectedEOF
|
||||||
//Check to see if limit was exceeded
|
|
||||||
var tmp [1]byte
|
|
||||||
_, err = io.ReadFull(r, tmp[:])
|
|
||||||
if err == io.EOF {
|
|
||||||
err = nil
|
|
||||||
} else if err == nil {
|
|
||||||
err = io.ErrUnexpectedEOF
|
|
||||||
}
|
}
|
||||||
return p, err
|
return p, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -140,18 +140,11 @@ func genSessionID() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func limitedRead(r io.Reader, limit int64) ([]byte, error) {
|
func limitedRead(r io.Reader, limit int64) ([]byte, error) {
|
||||||
p, err := ioutil.ReadAll(&io.LimitedReader{r, limit})
|
p, err := ioutil.ReadAll(&io.LimitedReader{r, limit + 1})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return p, err
|
return p, err
|
||||||
}
|
} else if int64(len(p)) == limit+1 {
|
||||||
|
return p[0:limit], io.ErrUnexpectedEOF
|
||||||
//Check to see if limit was exceeded
|
|
||||||
var tmp [1]byte
|
|
||||||
_, err = io.ReadFull(r, tmp[:])
|
|
||||||
if err == io.EOF {
|
|
||||||
err = nil
|
|
||||||
} else if err == nil {
|
|
||||||
err = io.ErrUnexpectedEOF
|
|
||||||
}
|
}
|
||||||
return p, err
|
return p, err
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue