This commit is contained in:
arraykeys@gmail.com
2018-09-19 15:45:15 +08:00
parent ef8737063b
commit 1ab07c81ab

View File

@ -371,11 +371,20 @@ func RandInt(strLen int) int64 {
return i return i
} }
func ReadBytes(r io.Reader) (data []byte, err error) { func ReadBytes(r io.Reader) (data []byte, err error) {
defer func() {
if e := recover(); e != nil {
err = fmt.Errorf("read bytes fail ,err : %s", e)
}
}()
var len uint64 var len uint64
err = binary.Read(r, binary.LittleEndian, &len) err = binary.Read(r, binary.LittleEndian, &len)
if err != nil { if err != nil {
return return
} }
if len == 0 || len > ^uint64(0) {
err = fmt.Errorf("data len out of range, %d", len)
return
}
var n int var n int
data = make([]byte, len) data = make([]byte, len)
n, err = r.Read(data) n, err = r.Read(data)