|  | @@ -27,9 +27,14 @@ func (this *AuthChunkReader) Read() (*alloc.Buffer, error) {
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	length := serial.BytesLiteral(buffer.Value[:2]).Uint16Value()
 | 
	
		
			
				|  |  | -	if length == 4 { // Length of authentication bytes.
 | 
	
		
			
				|  |  | +	if length <= 4 { // Length of authentication bytes.
 | 
	
		
			
				|  |  |  		return nil, io.EOF
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  | +	if length > 8*1024 {
 | 
	
		
			
				|  |  | +		buffer.Release()
 | 
	
		
			
				|  |  | +		buffer = alloc.NewLargeBuffer()
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	buffer.SliceBack(16)
 | 
	
		
			
				|  |  |  	if _, err := io.ReadFull(this.reader, buffer.Value[:length]); err != nil {
 | 
	
		
			
				|  |  |  		buffer.Release()
 | 
	
		
			
				|  |  |  		return nil, err
 |