Isn't len meant to limit the number of bytes to be read, to avoid overflows?