Delete goto fail - goto fail useless code
Fix: Read error with data

Conn.Read can return on the same call an error EOF and data in the buffer