Преглед изворни кода

defensive fix for improper usage of buf.New().

Darien Raymond пре 7 година
родитељ
комит
12181f527f
2 измењених фајлова са 2 додато и 2 уклоњено
  1. 1 1
      app/proxyman/mux/reader.go
  2. 1 1
      proxy/http/server.go

+ 1 - 1
app/proxyman/mux/reader.go

@@ -17,7 +17,7 @@ func ReadMetadata(reader io.Reader) (*FrameMetadata, error) {
 		return nil, newError("invalid metalen ", metaLen).AtError()
 	}
 
-	b := buf.New()
+	b := buf.NewSize(uint32(metaLen))
 	defer b.Release()
 
 	if err := b.Reset(buf.ReadFullFrom(reader, int(metaLen))); err != nil {

+ 1 - 1
proxy/http/server.go

@@ -173,7 +173,7 @@ func (s *Server) handleConnect(ctx context.Context, request *http.Request, reade
 	}
 
 	if reader.Buffered() > 0 {
-		payload := buf.New()
+		payload := buf.NewSize(uint32(reader.Buffered()))
 		common.Must(payload.Reset(func(b []byte) (int, error) {
 			return reader.Read(b[:reader.Buffered()])
 		}))