|  | @@ -99,6 +99,7 @@ func handleRequest(conn net.Conn, request *protocol.VMessRequest, firstPacket v2
 | 
	
		
			
				|  |  |  	encryptRequestWriter := v2crypto.NewCryptionWriter(aesStream, conn)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	buffer := alloc.NewBuffer().Clear()
 | 
	
		
			
				|  |  | +	defer buffer.Clear()
 | 
	
		
			
				|  |  |  	buffer, err = request.ToBytes(user.NewTimeHash(user.HMACHash{}), user.GenerateRandomInt64InRange, buffer)
 | 
	
		
			
				|  |  |  	if err != nil {
 | 
	
		
			
				|  |  |  		log.Error("VMessOut: Failed to serialize VMess request: %v", err)
 | 
	
	
		
			
				|  | @@ -119,7 +120,6 @@ func handleRequest(conn net.Conn, request *protocol.VMessRequest, firstPacket v2
 | 
	
		
			
				|  |  |  		firstChunk.Release()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		_, err = conn.Write(buffer.Value)
 | 
	
		
			
				|  |  | -		buffer.Release()
 | 
	
		
			
				|  |  |  		if err != nil {
 | 
	
		
			
				|  |  |  			log.Error("VMessOut: Failed to write VMess request: %v", err)
 | 
	
		
			
				|  |  |  			return
 | 
	
	
		
			
				|  | @@ -153,6 +153,7 @@ func handleResponse(conn net.Conn, request *protocol.VMessRequest, output chan<-
 | 
	
		
			
				|  |  |  	buffer, err := v2net.ReadFrom(decryptResponseReader, nil)
 | 
	
		
			
				|  |  |  	if err != nil {
 | 
	
		
			
				|  |  |  		log.Error("VMessOut: Failed to read VMess response (%d bytes): %v", buffer.Len(), err)
 | 
	
		
			
				|  |  | +		buffer.Release()
 | 
	
		
			
				|  |  |  		return
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  	if buffer.Len() < 4 || !headerMatch(request, buffer.Value[:2]) {
 |