Details
-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
None
-
None
-
0
Description
When we close a memdclient we close the underlying tcp connection and we also release the connection back into the pool. A part of releasing the connection is that we reset the buffer, which sets internal bits to nil. If a close call returns an error then we immediately release the connection, and don't use the protection mechanism that we use on successful close to prevent a read happening after we release the connection. This means that a read can occur after we release the connection, triggering a panic.