Reading 32,767 is too many on some versions of Windows.
The exact upper bound is unclear.
For #13697, but may not fix the problem on all systems.
Change-Id: I197021ed60cbcd33c91ca6ceed456ec3d5a6c9d6
Reviewed-on: https://go-review.googlesource.com/18433
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
if len(f.readbuf) == 0 {
numBytes := len(b)
// Windows can't read bytes over max of int16.
- if numBytes > 32767 {
- numBytes = 32767
+ // Some versions of Windows can read even less.
+ // See golang.org/issue/13697.
+ if numBytes > 10000 {
+ numBytes = 10000
}
mbytes := make([]byte, numBytes)
var nmb uint32