* Use buf.FromBytes(make([]byte, 0, buf.Size)) to create `first` Fixes https://github.com/XTLS/Xray-core/issues/1515 * Update server.go * Update inbound.go Co-authored-by: RPRX <[email protected]>
@@ -155,9 +155,8 @@ func (s *Server) Process(ctx context.Context, network net.Network, conn stat.Con
return newError("unable to set read deadline").Base(err).AtWarning()
}
- first := buf.New()
- defer first.Release()
-
+ first := buf.FromBytes(make([]byte, buf.Size))
+ first.Clear()
firstLen, err := first.ReadFrom(conn)
if err != nil {
return newError("failed to read first request").Base(err)
@@ -188,9 +188,8 @@ func (h *Handler) Process(ctx context.Context, network net.Network, connection s
firstLen, _ := first.ReadFrom(connection)
newError("firstLen = ", firstLen).AtInfo().WriteToLog(sid)