소스 검색

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()])
 		}))