diff --git a/proxy/vmess/inbound/inbound.go b/proxy/vmess/inbound/inbound.go index 5559727de..873f2aa0c 100644 --- a/proxy/vmess/inbound/inbound.go +++ b/proxy/vmess/inbound/inbound.go @@ -149,13 +149,13 @@ func (this *VMessInboundHandler) HandleConnection(connection *hub.TCPConn) { defer readFinish.Unlock() bodyReader := session.DecodeRequestBody(reader) var requestReader v2io.ReleasableReader - defer requestReader.Release() if request.Option.IsChunkStream() { requestReader = vmessio.NewAuthChunkReader(bodyReader) } else { requestReader = v2io.NewAdaptiveReader(bodyReader) } v2io.ReaderToChan(input, requestReader) + requestReader.Release() }() writer := v2io.NewBufferedWriter(connection)